View Full Version : چه جوری button درون یک listview رو event clickش رو صدا کنم؟؟
saeedhushmand
یک شنبه 24 فروردین 1393, 10:05 صبح
با سلام خدمت همه
listview من از دو textview و یک imagebutton تشکیل شده ،لطفا راهنمایی کنید که چه جوری میتونم click button رو صدا کنم
از این کدم استفاده کردم ولی کار نمیکنه چون button درون listview هست
Button btn=(Button)findViewById(R.id.btnsms);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView c = (TextView) v.findViewById(R.id.text);
String playerChanged = c.getText().toString();
Toast.makeText(getBaseContext(),playerChanged, Toast.LENGTH_SHORT).show();
}
});
#root#
یک شنبه 24 فروردین 1393, 10:20 صبح
این مثال (http://barnamenevis.org/showthread.php?401729-%D9%86%D9%85%D9%88%D9%86%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%88%DA%86%DA%A9-%D9%88-%D9%85%D9%81%D9%8A%D8%AF-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF&p=1977385&viewfull=1#post1977385) رو ملاحظه کنید. بقیه مثال ها هم نگاه کنید شاید لازمتون بشه :چشمک:
saeedhushmand
یک شنبه 24 فروردین 1393, 14:07 عصر
ببخشید دوست عزیز من 3 ساعت رو این مثال و کلاساش کار کردم ولی متاسفانه یه ارور الکی میده ، میگه ستون _id وجود نداره در صورتی که اصلا من همچین ستونی در جدول sqliteم ندارم!!!
لطفا راهنمایی کنید
الان وقتی کد زیر اجرا میشه مشکلی نیست
db.open();
Cursor c = db.getAllJomlak();
db.close();
ولی وقتی وارد قسمت بعدش میشه که کد زیر هست
listview.setAdapter(new MyAdapter(this, c));
این قسمت رو ارور میده و میگه ستون _id وجود ندارد و در صورتی که من اصلا همچین ستونی ندارم
darkenerboy
یک شنبه 24 فروردین 1393, 19:53 عصر
دوست عزیزم حالا من از شما یک سوالی میپرسم
ما از کجا بدونیم تو کلاس MyAdapter و در متد getAllJomlak چینوشتی ؟
اگه اینا رو از مثل ذکر شده برداشتی
بدان و آگاه باش که این مثال ها برای این هستند که با روش کار آشنا شی و باید کد رو مطابق با نیازت تغییر بدی
شما بهتره این چند مطلب رو بخونی 1 (http://www.kamalan.com/?p=1051) ، 2 (http://www.kamalan.com/?p=1066) ، 3 (http://www.kamalan.com/?p=1112) ، 4 (http://www.kamalan.com/?p=1122) ، 5 (http://www.kamalan.com/?p=1152) و مثال هاش رو کار کنی
من خودم با این مثال ها یادگرفتم
poorman
یک شنبه 24 فروردین 1393, 20:51 عصر
مشکل از اونجایی هست که داری آیدی Button رو مقدار میدی
توی آداپتر نمیشه همینطوری با findViewById کار کرد، باید مشخص کنید که این ویو مال کدوم فایل xml هست
View rowView = inflater.inflate(R.layout.list_item, null, true);
Button btn = (Button) rowView.findViewById(R.id.button1);
به مثال ها هم اگه توجه کنید همه به این صورت کار کردن
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.