2
        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);
        }

    });

测试常量.java

public interface TestConstants {

 String SELCTED_SCENE_KEY="SELCTED_SCENE"; }

单击选定的场景键后,我想获取 ScenesDetailActivity 。上面的代码似乎没有按预期工作。有人可以帮我解决它吗?非常感谢!西蒙尼德斯

4

2 回答 2

7

gridView 有自定义布局吗?

如果是,请转到自定义布局 xml 文件并更改这些属性

android:clickable="false"
android:focusable="false"
于 2014-01-04T05:52:26.747 回答
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/

于 2015-02-22T01:00:38.580 回答