2017-08-26 13 views
0

私はFragmentクラスにListViewを持っています。このListViewには3つのアイテムがあり、ListViewのすべてのアイテムには2つのボタン、btn +とbtn-、およびTextViewがあります。ListViewのOnClickListenerがリストの別の項目を更新します

私は、アプリを実行し、最初の項目のbtn +を押して、私は理由を知らないが、最後の項目のTextViewの値が増分されます。 btn-をクリックすると、やはり最後のTextViewの値がデクリメントされます。

これは私のアダプタです:

package com.example.lie_.tablayout; 

import android.content.Context; 
import android.util.Log; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.BaseAdapter; 
import android.widget.ImageView; 
import android.widget.RatingBar; 
import android.widget.TextView; 
import android.widget.Toast; 

import com.iarcuschin.simpleratingbar.SimpleRatingBar; 

import java.util.ArrayList; 

/** 
* Created by Ali on 17/08/2017. 
*/ 

public class MenuListPizzaAdapter extends BaseAdapter { 

    View vv; 
    TextView txtOrderNUM; 
    int counter=0; 

    private ArrayList <BuyMenuListPizza> BuyMenuListPizza; 
    private Context C; 

    public MenuListPizzaAdapter(Context c, ArrayList<BuyMenuListPizza> BuyMenuListPizza) { 
     this.BuyMenuListPizza = BuyMenuListPizza; 
     this.C=c; 
    } 

    @Override 
    public int getCount() { 
     return BuyMenuListPizza.size(); 
    } 

    @Override 
    public Object getItem(int i) { 
     return BuyMenuListPizza.get(i); 
    } 

    @Override 
    public long getItemId(int i) { 
     return i; 
    } 

    @Override 
    public View getView(final int position, View View, ViewGroup parent) 
    { 
     if (View == null) { 
      View = LayoutInflater.from(C).inflate(R.layout.buy_menu_list_pizza, parent, false); 
     } 

     TextView txtitemname = (TextView)View.findViewById(R.id.txtitemname); 
     SimpleRatingBar ratingbar = (SimpleRatingBar)View.findViewById(R.id.ratingbar); 
     final TextView txtitemcontent = (TextView)View.findViewById(R.id.txtitemcontent); 
     ImageView btnOrderADD = (ImageView)View.findViewById(R.id.btnOrderADD); 
     ImageView btnOrderDEL = (ImageView)View.findViewById(R.id.btnOrderDEL); 
     ImageView imgitem = (ImageView)View.findViewById(R.id.imgitem); 

     txtitemname.setText(BuyMenuListPizza.get(position).getName()); 
     ratingbar.setRating(BuyMenuListPizza.get(position).getRating()); 
     txtitemcontent.setText(BuyMenuListPizza.get(position).getContents()); 
     btnOrderADD.setImageResource(BuyMenuListPizza.get(position).getImgplus()); 
     btnOrderDEL.setImageResource(BuyMenuListPizza.get(position).getImgminues()); 
     imgitem.setImageResource(BuyMenuListPizza.get(position).getImgpizza()); 

     Toast.makeText(parent.getContext(),"Position getView : " + position,Toast.LENGTH_LONG).show(); 

     txtOrderNUM = (TextView)View.findViewById(R.id.txtOrderNUM); 
     txtOrderNUM.setText(BuyMenuListPizza.get(position).getCount() + ""); 

     btnOrderADD.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       int coun= BuyMenuListPizza.get(position).getCount(); 
       coun++; 
       txtOrderNUM.setText(coun+""); 
      } 
     }); 

     btnOrderDEL.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       int coun= BuyMenuListPizza.get(position).getCount(); 
       coun--; 
       if(coun<0){ 
       } 
       else 
        txtOrderNUM.setText(coun+""); 
      } 
     }); 

     return View; 
    } 
} 

は、これは私のフラグメントのクラスです:

public class Pizza extends Fragment { 
    TextView txtOrderNUM; 

    ArrayList<BuyMenuListPizza> arrayList; 
    ListView MenuPizzaList; 
    Context c; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 

     View android = inflater.inflate(R.layout.pizza, container, false); 

     MenuPizzaList = (ListView)android.findViewById(R.id.MenuPizzaList); 
     arrayList=BuyMenuListPizzaCollection.getBuyMenuListPizza(); 
     MenuPizzaList.setAdapter(new MenuListPizzaAdapter(container.getContext(),arrayList)); 

// MenuPizzaList.setOnItemClickListener(new oncitemlicklistener()); 

    return android; 
} 

私はそれを変更し、自分のコードが実行されているので、xmlファイルと変化属性に行って言わないでくださいOnClickListenerは正常ですが正しく動作しません。

私は数日以上を探しましたが、何も見つかりませんでした。

答えて

0

問題解決のための使用が見つかりました:notyficationitemselected(getadapterposition)

関連する問題