我有一个自定义的ArrayList,我用来填充一个Activity,这个ArrayList采用一个预先填充的字符串数组的ListView,每个都是唯一的。在这个例子中,我正在列出一个Band名称列表(可以改变)。
ArrayAdapter由此ArrayList填充并插入到包含XML按钮的布局块中。
主要
ArrayList<String> BandList = Controller.BandInfo();
findtheListView = (ListView) findViewById(R.id.findtheListView);
newAdaptor = new ArrayAdapter<String>(this, R.layout.listviewrow, BandList);
findtheListView.setAdapter(newAdaptor);
Listview_row
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="20dp"
android:textSize="18sp"
android:onClick="onClickdoAction">
列表填充没有问题插入我的所有值,我遇到的问题是每个新填充按钮的按钮具有相同的ID。
点击后我有一个功能,可以找到按钮的值,并根据按钮进入某个页面。 但是,单击按钮,只需从第一个定义的按钮中找到信息。
我如何为每个按钮指定唯一ID?
答案 0 :(得分:0)
不知道按钮是否具有唯一ID,但也许您可以尝试Button.setTag(Object),为每个按钮设置唯一值。当点击可以使用View.getTag()获得之前设置的唯一值
答案 1 :(得分:0)
如果您正在努力点击每个按钮,请使用此解决方案
findtheListView.setOnItemClickListener((new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<> parent, View view, int position, long id)
{
// your code here based on position.
// You can use bandlist for getting data at that position
}
});
的问候,
沙