【问题标题】:Android twoWayGridView onItemClickListenter not workingAndroid twoWayGridView onItemClickListenter 不起作用
【发布时间】:2013-08-06 09:15:31
【问题描述】:

我通过在我的 Android 项目中添加库和双向网格视图来实现 two-way-gridview library

XML:

<com.jess.ui.TwoWayGridView
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="#000000"
android:id="@+id/listView1"
android:layout_width="fill_parent" 
android:layout_height="fill_parent"
app:cacheColorHint="#E8E8E8"
app:columnWidth="80dp"
app:rowHeight="80dp"
app:numColumns="3"
app:numRows="auto_fit"
app:verticalSpacing="16dp"
app:horizontalSpacing="16dp"
app:stretchMode="spacingWidthUniform"
app:scrollDirectionPortrait="horizontal"
app:scrollDirectionLandscape="horizontal"
app:gravity="left" />

Java 代码:

//set up adapter
CustomCursorAdapter dataAdapter = new CustomCursorAdapter(context, cursor);
TwoWayGridView gridView = (TwoWayGridView) findViewById(R.id.listView1);

//assign adapter to ListView
gridView.setAdapter(dataAdapter);

发生这种情况:

  1. 网格可以水平滚动 - 耶!
  2. 所有项目都是TextViews,具有相同的元素(第一项)- 不是。
  3. 网格中没有可点击的项目 - setOnItemClickListener 不兼容 - 不行。

Eclipse 错误:

方法 setOnItemClickListener(TwoWayAdapterView.OnItemClickListener) 在 类型 TwoWayAdapterView 不适用于 参数(新的 AdapterView.OnItemClickListener(){})

关于这段代码:

gridView.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> listView, View view, int position, long id) {
        //get the cursor, positioned to the corresponding row in the result set
        Cursor cursor = (Cursor) listView.getItemAtPosition(position);

        //get the media file from this row in the database
        String fileName = cursor.getString(cursor.getColumnIndexOrThrow(DatabaseHelper.FIELD_RESOURCE));

        String suffix = ".jpg";
        if(fileName.equalsIgnoreCase("null")){
            //Text item so do stuff for that

            }else if(fileName.endsWith(suffix)){
                    //Image item so do stuff for that

                }else {
                    //Video item so do stuff for that

                }
            }
        });

我应该为双向网格视图编写自定义 onItemClickListener 吗?

【问题讨论】:

标签: android android-gridview two-way


【解决方案1】:

你应该只是改变:

gridView.setOnItemClickListener(new OnItemClickListener() {}

gridView.setOnItemClickListener(new TwoWayAdapterView.OnItemClickListener() {}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-28
    • 2016-05-26
    • 2013-06-03
    • 2016-06-19
    • 2015-04-21
    • 2018-10-15
    • 2011-04-03
    • 2016-12-03
    相关资源
    最近更新 更多