use*_*965 8 android gridview android-widget android-gridview
我们知道使用android网格视图,我们可以执行以下操作并在单击项目时收到通知:
gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Toast.makeText(PopularCapitActivity.this, "" + position, Toast.LENGTH_SHORT).show();
}
});
Run Code Online (Sandbox Code Playgroud)
我们也知道,如果网格中的单元格包含一个可点击的项目,比如一个按钮,则上面的内容不会被触发.
所以目前我有一个网格视图,每个单元都有自己的按钮,所以现在当用户点击该按钮,它会根据按钮位于小区有自己的行动,我的问题是,我怎么能访问单元位置在按钮处理程序?
谢谢
den*_*rew 28
假设您正在为GridVIew使用自定义适配器,在getView方法中,您只需向Button对象添加一个标记,该对象包含传递给getView的位置:
button.setTag(new Integer(position));
Run Code Online (Sandbox Code Playgroud)
然后,在onClickListener方法中,使用传入的视图(按钮),您可以执行以下操作:
Integer position = (Integer)view.getTag();
Run Code Online (Sandbox Code Playgroud)
然后从那里处理位置值.
编辑: 似乎最好的做法是:
button.setTag(Integer.valueOf(position));
Run Code Online (Sandbox Code Playgroud)
而不是使用Integer构造函数.
| 归档时间: |
|
| 查看次数: |
21920 次 |
| 最近记录: |