View Full Version : گرفتن مقدار آی دی آیتم های لیست ویو
GH_Seven
چهارشنبه 30 دی 1394, 15:45 عصر
سلام دوستان
من یک لیست ویو دارم که اطلاعاتشو داره از دیتابیس میگیره و با یک آداپتر مقدارها رو ست میکنه
حالا میخوام زمانی که روی هر آیتم کلیک میشه مقدار آی رو بگیرم از توی کلاس مین اکتیوتی
پزیشن رو میشه با
setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
گرفت اما من دنبال ای دی که توی دیتابیس ذخیره شده هستم، میخوام آی دی آیتم رو با کلیک کردن روش بگیرم
کدهای مختلفی نوشتم ولی جواب نداد ...
لطفا اگر ممکن هست راهنمایی کنید
ممنونم
msroid
چهارشنبه 30 دی 1394, 18:40 عصر
سلام
شما از یک custom adapter استفاده کردین یا اینکه از adapter پیش فرض...؟؟
GH_Seven
چهارشنبه 30 دی 1394, 20:24 عصر
سلام
شما از یک custom adapter استفاده کردین یا اینکه از adapter پیش فرض...؟؟
من از Custom adapter استفاده کردم
msroid
چهارشنبه 30 دی 1394, 20:42 عصر
خب اگه اینجوره که بازم راحته دیگه. شما وقتی یه نمونه از کلاس custom adapter ساختی(مثلا mAdapter) بعدش توی متد onItemClickListener میتونی با استفاده از متد getItem(position)z از طریق mAdapter اون نمونه داده ای رو که از دیتابیس گرفتی و به عنوان ورودی به Adapter دادی رو بگیری:
// imagine you have this class
class MyData{
private String title;
private String body;
public void setTitle(String title){
this.title = title;
}
public String getTitle(){
return title;
}
public void setBody(String body){
this.body = body;
}
public String getBody(){
return body;
}
@Override
public void onItemClick(CoverAdapterView<?> parent, View view, int position, long id) {
MyData data = mAdapter.getItem(position);
String title = data.getTitle();
String body = data.getBody();
Toast.makeText(this, "title is: " + title + " and body is: " + body, Toast.LENGTH_SHORT).show();
}
GH_Seven
چهارشنبه 30 دی 1394, 21:01 عصر
خب اگه اینجوره که بازم راحته دیگه. شما وقتی یه نمونه از کلاس custom adapter ساختی(مثلا mAdapter) بعدش توی متد onItemClickListener میتونی با استفاده از متد getItem(position)z از طریق mAdapter اون نمونه داده ای رو که از دیتابیس گرفتی و به عنوان ورودی به Adapter دادی رو بگیری:
// imagine you have this class
class MyData{
private String title;
private String body;
public void setTitle(String title){
this.title = title;
}
public String getTitle(){
return title;
}
public void setBody(String body){
this.body = body;
}
public String getBody(){
return body;
}
@Override
public void onItemClick(CoverAdapterView<?> parent, View view, int position, long id) {
MyData data = mAdapter.getItem(position);
String title = data.getTitle();
String body = data.getBody();
Toast.makeText(this, "title is: " + title + " and body is: " + body, Toast.LENGTH_SHORT).show();
}
خیلی ممنون درست شد
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.