项目点击监听器上的GridView

时间:2013-09-20 13:59:13

标签: java android gridview

        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。似乎上面的代码没有按预期工作。有人能帮助我解决它吗?非常感谢!西蒙尼德

2 个答案:

答案 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);
        }
    });
}

来自http://www.migapro.com/click-events-listview-gridview/