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
は正常ですが正しく動作しません。
私は数日以上を探しましたが、何も見つかりませんでした。