我正在尝试在单击列表中的项目时检索某个ID。
如何检索值+ id / name?我想在下面显示的警告对话框中使用它。
我目前正在使用一个简单的吐司,只是在点击列表项时显示“名称”
以下是我的列表项的xml代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/image" android:textSize="20dip"
android:layout_marginLeft="10dip"/>
<ImageView
android:id="@+id/image"
android:layout_width="50dip"
android:layout_height="50dip"
android:layout_centerHorizontal="true"
android:src="@drawable/stub" android:scaleType="centerCrop"/>
<TextView
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/image"
android:textSize="20dip" android:layout_marginLeft="10dip"/>
</RelativeLayout>
警报对话框代码:
list.setOnItemClickListener(new OnItemClickListener(){
String artistname = "get +id/name here";
String items[] = {"Youtube", "Soundcloud"};
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
AlertDialog.Builder builder = new
AlertDialog.Builder(JsonActivity.this);
builder.setTitle(artistname);
builder.setItems(items, new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
AlertDialog alert = builder.create();
alert.show();
}});
}
答案 0 :(得分:2)
试试这个
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//name of the artist...
String name=((TextView)view.findViewById(R.id.name)).getText();
}
我认为这就是你想要的......我希望这会对你有所帮助
答案 1 :(得分:0)
当我们使用Adapter显示列表时。 在getView方法中,我们根据列表中item的位置从集合中获取值。我正在谈论的适配器的数据源。 像这样。
public View getView(){
holder.name.setText(data.get(position));
}
单击列表项后,您将获得使用listItemOnClickListener单击的位置。在那次回调中 再次调用数据源的get方法以获取粘贴在列表项上的元素。 希望你明白这一点。因为我没有发布太多代码来支持它。