【问题标题】:using setOnItemClickListener and new intent not working使用 setOnItemClickListener 和新意图不起作用
【发布时间】:2014-05-08 07:28:11
【问题描述】:

我有一个带有图像的网格视图。一旦单击它应该转到PlayVideoActivity,但onItemClick 永远不会被调用。

我在调试器中跟踪并尝试单击图像,但它从未触发 onItemClick

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_videos);

    gridView = (GridView) findViewById(R.id.gridView);

    customGridAdapter = new GridViewAdapter(this, R.layout.row_grid,
            getData());

    gridView.setAdapter(customGridAdapter);

    gridView.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> a, View v, int i, long l) {

            Toast.makeText(videoChannelActivity.this, i + "#Selected",
                    Toast.LENGTH_SHORT).show();

            Intent myIntent = new Intent(videoChannelActivity.this, PlayVideoActivity.class);
            startActivity(myIntent);

        }
    });
}

row_grid.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="5dp"
android:background="@drawable/grid_color_selector"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:orientation="vertical"
android:padding="5dp" >

<ImageView
    android:id="@+id/image"
    android:layout_width="280dp"
    android:layout_height="158dp"
    android:contentDescription="@string/desc"
    android:scaleType="centerInside" />

<TextView
    android:id="@+id/text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp"
    android:gravity="center"
    android:textSize="12sp" >
</TextView>

【问题讨论】:

  • 给我看看你的row_grid.xml文件
  • @simpleplan 查看更新
  • ok 尝试将android:descendantFocusability="blocksDescendants" 添加到您的主布局中
  • 1+ @simpleplan 在 5 分钟内正确响应。谢谢!

标签: java android gridview onitemclick


【解决方案1】:

row_grid.xml的父布局中添加android:descendantFocusability="blocksDescendants"属性

【讨论】:

    【解决方案2】:

    你应该删除

    android:clickable="true"
    android:focusable="true"
    

    【讨论】:

    • 谢谢!那和 android:descendantFocusability="blocksDescendants" 做到了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-07
    • 1970-01-01
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    相关资源
    最近更新 更多