我使用ListView来显示几个项目.我的row.xml如下:
<TextView android:text="text"
android:id="@+id/tvViewRow"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
<Button android:text="Click me!"
android:id="@+id/BtnToClick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="myClick">
</Button>
Run Code Online (Sandbox Code Playgroud)
我在Activity中定义myClick如下:
public void myClick (View v) {
LinearLayout vwParentRow = (LinearLayout)v.getParent();
//How to get the position
}
Run Code Online (Sandbox Code Playgroud)
如何知道点击它的位置?该位置与onListItemClick的方法相同.
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
}
Run Code Online (Sandbox Code Playgroud)
小智 35
尝试
public void DetailClick(View v) {
ListView lv = getListView();
int position = lv.getPositionForView(v);
}
Run Code Online (Sandbox Code Playgroud)
你可以这样试试.
第1步:在您的自定义适配器中
@Override
public view getView(int position, View convertView, ViewGroup parent){
.......//Perform your logic
convertView.findViewById(R.id.BtnToClick).setTag(position);
return convertView;
}
Run Code Online (Sandbox Code Playgroud)
第2步:在onclick监听器中
public void myClick (View v) {
LinearLayout vwParentRow = (LinearLayout)v.getParent();
position=(Integer) v.getTag();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26670 次 |
| 最近记录: |