单击列表视图上的按钮时,我如何知道单击了列表视图中的哪个项目?
How do i know which item in the listview is clicked when a button on my listview is clicked?
我有一个 listview
,我的 listview
中的每个项目都有一个 textview
和一个 button
。现在假设我在 listview
中的第二个项目上单击 button
,我如何检测被单击的 button
是否属于 listview
中的第二个项目?
您可以设置onListItemClick()
来触发列表项侦听器。有关详细信息,请参阅 this link。基本上你必须:
- 根据您的 class
延长 ListActivity
或 ListFragment
- 覆盖
OnListItemClick()
方法。
如果您在适配器的 getView
方法中设置按钮 OnClickListener
,那么您将知道第一个参数的位置:
@Override
public View getView(final int position, View view, ViewGroup parent) {
// Inflate your layout...
Button mButton = (Button) view.findViewById(R.id.button);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "Button clicked at position " + String.valueOf(position));
}
});
}
我有一个 listview
,我的 listview
中的每个项目都有一个 textview
和一个 button
。现在假设我在 listview
中的第二个项目上单击 button
,我如何检测被单击的 button
是否属于 listview
中的第二个项目?
您可以设置onListItemClick()
来触发列表项侦听器。有关详细信息,请参阅 this link。基本上你必须:
- 根据您的 class 延长
- 覆盖
OnListItemClick()
方法。
ListActivity
或 ListFragment
如果您在适配器的 getView
方法中设置按钮 OnClickListener
,那么您将知道第一个参数的位置:
@Override
public View getView(final int position, View view, ViewGroup parent) {
// Inflate your layout...
Button mButton = (Button) view.findViewById(R.id.button);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "Button clicked at position " + String.valueOf(position));
}
});
}