PDA

View Full Version : مشکل تغییر textview در listview



rezanajafi86
شنبه 22 فروردین 1394, 16:02 عصر
با سلام خدمت دوستان من یه مشکلی دارم اینه که یه لست ویو دارم با یه textview و یه button میخوام زمانی که روی button کلیک شد textview تغییر کنه ولی سه تا درمیون همه تغییر میکنن
من از baseadapter استفاده می کنم ممنون میشم بزرگواران کمکم کنند

iman0111
شنبه 22 فروردین 1394, 19:22 عصر
با سلام خدمت دوستان من یه مشکلی دارم اینه که یه لست ویو دارم با یه textview و یه button میخوام زمانی که روی button کلیک شد textview تغییر کنه ولی سه تا درمیون همه تغییر میکنن
من از baseadapter استفاده می کنم ممنون میشم بزرگواران کمکم کنند

سلام میشه دقیق تر توضیح بدین

Abbas Naghdi
شنبه 22 فروردین 1394, 21:33 عصر
با سلام خدمت دوستان من یه مشکلی دارم اینه که یه لست ویو دارم با یه textview و یه button میخوام زمانی که روی button کلیک شد textview تغییر کنه ولی سه تا درمیون همه تغییر میکنن
من از baseadapter استفاده می کنم ممنون میشم بزرگواران کمکم کنند


باید OnClick باتن رو داخل کلاس adapter ی که برای item های listview درست کردی بنویسی .

rezanajafi86
یک شنبه 23 فروردین 1394, 13:35 عصر
salam man ro har kodom onclick button click mikonam har 3 ta darmion textview haye list view taghir mikone


public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
if(convertView==null){
vi = inflater.inflate(R.layout.list_item_product, null);
ViewHolder viewholder = new ViewHolder();
viewholder.btnplus =(Button) vi.findViewById(R.id.buttonadd);
viewholder.btnmin = (Button) vi.findViewById(R.id.buttonremove);
viewholder.txnumber = (TextView) vi.findViewById(R.id.numbers);


vi.setTag(viewholder);
Log.d("in listview", "test");
}


TextView title = (TextView)vi.findViewById(R.id.titleproduct); // titles
ImageView thumb_image=(ImageView)vi.findViewById(R.id.imagep roduct); // thumb image

Product tmpgroup = new Product();
tmpgroup = data.get(position);

// Setting all values in listview
title.setText(tmpgroup.getproductname());
Log.d("in listview",tmpgroup.getproductname());
// for add button product
final ViewHolder holder = (ViewHolder) vi.getTag();

holder.btnplus.setTag(holder);
holder.btnplus.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
if(holder.btnplus.getId() == v.getId()){
ViewHolder holder1 = (ViewHolder) v.getTag();
String s = holder1.txnumber.getText().toString();
int tmp = Integer.parseInt(s);
tmp+=1;

holder1.txnumber.setText(Integer.toString(tmp));
//notifyDataSetChanged();

}

}
});
// for remove button
Button btnrem = (Button) vi.findViewById(R.id.buttonremove);
btnrem.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

View pv = (View) v.getParent();
TextView number = (TextView) pv.findViewById(R.id.numbers);
int tmp = Integer.parseInt(number.getText().toString());
if (tmp > 0)
tmp-=1;
number.setText(Integer.toString(tmp));
//notifyDataSetChanged();


}
});

rezanajafi86
یک شنبه 23 فروردین 1394, 13:38 عصر
در کد بالا روی هر کدوم از باتن ها کلیک کنم سه تا درمیون لیست ویو تغییر میکنه و همون تکست ویو رو به خودش میگیره اون notifydatasetchanged() رو هم فعال کردم نشده ممنون

atpf67
یک شنبه 23 فروردین 1394, 14:02 عصر
سلام بزرگوار به صورت زیر تغییر بدید فکر کنم درست بشه:


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


int tmp = Integer.parseInt(viewholder.txnumber.getText().toS tring());
if (tmp > 0)
tmp-=1;
viewholder.txnumber.setText(Integer.toString(tmp)) ;

//notifyDataSetChanged();


}

rezanajafi86
پنج شنبه 27 فروردین 1394, 18:08 عصر
سلام بزرگوار اخه viewholder داخل تابع نمیشه مستقیم بهش دسترسی داشت به خاطر همینت نمیشه