この投稿から使用して、セクションのリストビューにいくつかのデータを表示していますSepatateListAdapter
私のコードは次のとおりです。
ListView photos_list = (ListView) findViewById(R.id.photos_list);
separate_adapter = new SeparatedListAdapter(this);
AddedPhotosAdapter one_adapter = new AddedPhotosAdapter(this, R.layout.row_acc_info , photos_instagram);
separate_adapter.addSection(" Section1 ", one_adapter);
AddedPhotosAdapter two_adapter = new AddedPhotosAdapter(this, R.layout.row_acc_info , photos_fb);
separate_adapter.addSection(" Section2 ", two_adapter);
AddedPhotosAdapter three_adapter = new AddedPhotosAdapter(this, R.layout.row_acc_info , photos_picasa);
separate_adapter.addSection(" Section3 ", thee_adapter);
photos_list.setAdapter(separate_adapter);
コンテキストメニューにも登録しました
registerForContextMenu(photos_list);
これは、コンテキストメニューの作成とメニューから選択された項目のコードです
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
if (v.getId() == R.id.photos_list) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
Log.i(TAG, "*********position******" +info.position);
Object item = separate_adapter.getItem(info.position);
PhotosInfo total = (PhotosInfo) item ;
menu.setHeaderTitle(total.getPhoto_Name());
menu.add(0, 1, 0, "Delete photo account");
menu.add(0, 2, 1, "Cancel");
}
}
@Override
public boolean onContextItemSelected(android.view.MenuItem item) {
if (item.getGroupId() == 0) {
switch(item.getItemId()) {
case 1:
break;
case 2:
break;
}
}
return super.onContextItemSelected(item);
}
これは、SeparateListAdapter を使用してリスト ビューに使用しているコードです。ここでこのエラーが発生していますFATAL EXCEPTION: main
E/AndroidRuntime(9228): java.lang.ClassCastException: java.lang.String
E/AndroidRuntime(9228): at com.colours.pipemedia.photos.PhotosMain.onCreateContextMenu(PhotosMain.java:170)
これは、コードでエラーの原因となっている行です
PhotosInfo total = (PhotosInfo) item ;
このコードを単一のアダプターに使用していますが、正常に動作しています。しかし、別のリストアダプターを使用すると、エラーが発生します。この要件の解決策は何ですか?