gridView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
Toast.makeText(ScenesActivity.this, position + "#Selected",
Toast.LENGTH_SHORT).show();
final Intent intent = new Intent(getApplicationContext(), ScenesDetailActivity.class);
intent.putExtra(TestConstants.SELCTED_SCENE_KEY, position);
startActivity(intent);
}
});
TestConstants.java
public interface TestConstants {
String SELCTED_SCENE_KEY="SELCTED_SCENE"; }
我想在点击选中的场景键后获取ScenesDetailActivity。似乎上面的代码没有按预期工作。有人能帮助我解决它吗?非常感谢!西蒙尼德
答案 0 :(得分:7)
gridView是否有自定义布局?
如果是,请转到自定义布局xml文件并更改这些属性
android:clickable="false"
android:focusable="false"
答案 1 :(得分:0)
这是最干净的方法:从适配器中每个按钮的点击监听器中调用GridView上的performItemClick()。这样你仍然可以像平常一样使用GridView的onItemClickListener。
// in your ListAdapter
@Override
public View getView(final int position, final View convertView, final ViewGroup parent) {
// set btn to be your item's view
...
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((GridView) parent).performItemClick(v, position, 0);
}
});
}