Android的twoWayGridView onItemClickListenter不工作

问题描述:

我已经实现了two-way-gridview library通过添加库和双向gridview到我的Android项目。Android的twoWayGridView onItemClickListenter不工作

的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的错误:

The method setOnItemClickListener(TwoWayAdapterView.OnItemClickListener) in the type TwoWayAdapterView is not applicable for the arguments (new 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 

       } 
      } 
     }); 

我应该写为双向-GridView的自定义onItemClickListener?

+0

我发现了这样的回答:http://*.com/a/17707452/956975对解决方案有何评论? – marienke

你或许应该只是改变:

gridView.setOnItemClickListener(new OnItemClickListener() {} 

通过

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