2016-04-06 15 views
-2

`nasıl artırılması ve

<ImageView 
    android:id="@+id/addition" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ic_launcher" 
    android:layout_alignParentRight="true" 
    android:paddingRight="15dp" 
    android:gravity="center" 
    /> 

<TextView 
    android:id="@+id/qun" 
    android:layout_width="33dp" 
    android:layout_height="33dp" 
    android:layout_alignParentRight="true" 
    android:gravity="center" 
    android:layout_marginRight="60dp" 
    android:layout_marginTop="9dp" 
    android:background="@drawable/quantity_box" 
    /> 
<ImageView 
    android:id="@+id/subtraction" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/sub" 
    android:layout_alignParentRight="true" 
    android:gravity="center" 
    android:layout_marginRight="100dp"/> 

custom_layout metin görünümüne ilişkin düğmeye azaltarak her öğe için değerini ayarlamak için` Burada i' Ne resimdir
adresinin alınması hakkında bilgi almak için + pop artış ve -button düşüş elde etmek istiyorum ama 1 öğe hariç tüm öğenin artışını ve azalışını alamıyorum ... lütfen her şeyi denediğim gibi yardım edin .. öneriniz için teşekkürler ve yardım için teşekkürler

public class MainActivity extends AppCompatActivity { 
    ///Description 
    ImageView add, edit; 
    Button ok; 
    Button next2; 
    ImageView addition, subtraction; 
    TextView qun; 
    int count = 0; 
    final Context context = this; 
    ListView listView; 
    private ArrayAdapter<String> adapter; 
    private ArrayList<String> arrayList; 
    String strCounter; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     // requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.main_activity); 

     //initialization 
     add = (ImageView) findViewById(R.id.add); 
     edit = (ImageView) findViewById(R.id.edit); 
     listView = (ListView) findViewById(R.id.list); 
     next2 = (Button) findViewById(R.id.next2); 


     final String items[] = {"toned milk"}; 
     arrayList = new ArrayList<>(Arrays.asList(items)); 
     adapter = new ArrayAdapter<String>(this, R.layout.custom_layout, R.id.text, arrayList); 
     listView.setAdapter(adapter); 
     registerForContextMenu(listView);//to register the object of list view for context menu 


     add.setOnClickListener(new View.OnClickListener() 

     { 
      @Override 
      public void onClick(View v) { 
       final Dialog dialog = new Dialog(MainActivity.this); 
       dialog.setTitle("Enter new Milk"); 
       dialog.setContentView(R.layout.dialog); 
       dialog.setCancelable(false);// to prevent the user when he click any where in the screen 
       dialog.setCanceledOnTouchOutside(false); 
       dialog.show(); 


       //button initilazation 
       Button ok = (Button) dialog.findViewById(R.id.ok); 

       ok.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         //initialization for edit text 
         final EditText editText = (EditText) dialog.findViewById(R.id.pro); 
         String data = editText.getText().toString(); 

         arrayList.add(data); 

         Toast.makeText(getApplicationContext(), "product name is :" + data, Toast.LENGTH_LONG).show(); 

         adapter.notifyDataSetChanged();// to refresh with update one 

         dialog.cancel(); 


        } 
       }); 


       addition = (ImageView) findViewById(R.id.addition); 
       subtraction = (ImageView) findViewById(R.id.subtraction); 
       qun = (TextView) findViewById(R.id.qun); 

       addition.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         if (v == addition) { 
          count++; 
          strCounter = Integer.toString(count); 
          qun.setText(strCounter); 

         } 
        } 
       }); 


       subtraction.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         if (v==subtraction){ 
          if (count>0) 
          count--; 
          strCounter =Integer.toString(count); 
          qun.setText(strCounter); 
         } 

        } 
       }); 

      } 
     }); 
+0

sorunuzu netleştirmek lütfen İt's tam çalışmıyor gerçekten ne belli değil. Anlaşılır İngilizce yazmanız gerekiyor ... – Opiatefuchs

+0

ve addClick'deki tüm butonları addButton'dan başlatıyor gibi görünüyorsunuz, bunu yapmamalısınız. Onları, diğer değişkenler vb. ile yaptığınız gibi başlatınız. – Opiatefuchs

+0

, bunun nedeni, ekleme ve çıkarma düğmelerinizin onClickListener'ları, yalnızca ekleme düğmenizi daha önce tıklamış olsaydınız, yalnızca tetiklenir. – Opiatefuchs

cevap

0

OnClickListener öğesini + düğmelerinize ve her ListView öğesinin düğmelerine yerleştirmelisiniz. ArrayAdapter'ın getView() yöntemini geçersiz kılarak ve kendi uygulamanızı yazarak bunu yapabilirsiniz. örneğin:

@Override 
public View getView(int position, View convertView, ViewGroup parent){ 
    if(convertView == null){ 
     // inflate your view 
    }else{ 
     addition = (ImageView) convertView.findViewById(R.id.addition); 
     subtraction = (ImageView) convertView.findViewById(R.id.subtraction); 
     qun = (TextView) convertView.findViewById(R.id.qun); 
    } 
} 

burada bir örnek bakınız: Custom Adapter for List View

İlgili konular