为 java 中的 ArrayAdapter 按钮分配唯一 ID
Assign unique ID to ArrayAdapter buttons in java
我有一个自定义的 ArrayList,我用它来填充 Activity,这个 ArrayList 采用预填充字符串数组的 ListView,每个都是唯一的。在这种情况下,我要列出乐队名称(可以更改)。
ArrayAdapter 由这个 ArrayList 填充并插入到包含 XML 按钮的布局块中。
Main
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?
不知道按钮是否具有唯一 ID,但也许您可以尝试 Button.setTag(对象),为每个按钮设置唯一值。而点击时可以使用View.getTag()获取之前设置的唯一值
如果您在点击每个按钮时遇到困难,请使用此解决方案
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
}
});
此致,
沙
我有一个自定义的 ArrayList,我用它来填充 Activity,这个 ArrayList 采用预填充字符串数组的 ListView,每个都是唯一的。在这种情况下,我要列出乐队名称(可以更改)。
ArrayAdapter 由这个 ArrayList 填充并插入到包含 XML 按钮的布局块中。
Main
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?
不知道按钮是否具有唯一 ID,但也许您可以尝试 Button.setTag(对象),为每个按钮设置唯一值。而点击时可以使用View.getTag()获取之前设置的唯一值
如果您在点击每个按钮时遇到困难,请使用此解决方案
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
}
});
此致,
沙