2011-07-09 4 views
0

私はいくつかの異なる組み合わせを試しました(以下のコメントはこの断片です)。デバッグはこれまでどおりにクリックを認識しません。アイテムは強調表示されますが、何も起こりません。私は、カスタムrow.xmlファイルを膨張させ、行レイアウトファイル内のビューを使用してみました。例外なく、それ以上のアイデアはありません。探してくれてありがとう。ExpandableListViewリスナーによってOnLongClickが認識されない

また、私はonCreateContextMenuメソッドが少し軽いことを認識します。私はちょうどポップアップすることを取得したい、その後、私は詳細の世話をする!

主な活動

public class BrowseActivity extends ExpandableListActivity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.browse); 

    final ExpandableListView browseView = (ExpandableListView) findViewById(android.R.id.list); 

    DbHelper dbh = new DbHelper(BrowseActivity.this); 
    SQLiteDatabase db = dbh.getWritableDatabase(); 
    SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder(); 
    queryBuilder.setTables(Items.ITEMS_TABLE_NAME); 

    Cursor mCursor = queryBuilder.query(db, new String[] { Items.ITEMS_ID, 
      Items.ITEMS_ITEM, Items.ITEMS_DESC }, null, null, null, null, 
      Items.DEFAULT_SORT_ORDER); 

    CursorTreeAdapter mAdapter = new MyExpandabaleListAdapter(this, 
      mCursor, R.layout.row, R.layout.exprow, new String[] { 
        Items.ITEMS_ITEM, Items.ITEMS_DESC }, new int[] { 
        R.id.txtItem, R.id.dscItemTwo }, new String[] { 
        Items.ITEMS_DESC, Items.ITEMS_MANU }, new int[] { 
        R.id.dscItem, R.id.manuItem }); 

    browseView.setAdapter(mAdapter); 


     registerForContextMenu(getExpandableListView()); 

} 

public class MyExpandabaleListAdapter extends SimpleCursorTreeAdapter { 

    public MyExpandabaleListAdapter(Context context, Cursor c, 
      int groupLayout, int childLayout, String[] groupFrom, 
      int[] groupTo, String[] childrenFrom, int[] childrenTo) { 

     super(context, c, groupLayout, groupFrom, groupTo, childLayout, 
       childrenFrom, childrenTo); 

    } 

    @Override 
    protected Cursor getChildrenCursor(Cursor groupCursor) {...} 

} 

public void OnCreateContextMenu(ContextMenu menu, View v, 
     ContextMenuInfo menuInfo) { 

    super.onCreateContextMenu(menu, v, menuInfo); 

    menu.add(0, 0, 0, "Add"); 

} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    super.onCreateOptionsMenu(menu); 
    menu.add("Add Item").setIntent(new Intent(this, AddItemActivity.class)); 

    return super.onCreateOptionsMenu(menu); 
} 

@Override 
public boolean onContextItemSelected(MenuItem item) { 

    return false; 
} 

}

閲覧レイアウトこれはザは、ELVを保持するレイアウトです。

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" android:orientation="vertical" 
android:id="@+id/expandLinLayout" 
> 
<ExpandableListView 
android:id = "@android:id/list" 
android:layout_height="fill_parent" 
android:layout_width="fill_parent" 
android:groupIndicator="@drawable/my_group_statelist" 
> 
</ExpandableListView> 

</LinearLayout> 

行レイアウトこれは折りたたまレイアウトです。

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/TableLayout1" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
> 
<TextView 
android:layout_gravity="center_vertical|right" 
android:id="@+id/txtItem" 
android:text="Item" 
android:layout_height="wrap_content" 
android:layout_width="fill_parent" 
android:textSize="15dip" 

></TextView> 


<TextView 
android:layout_gravity="center_vertical|right" 
android:id="@+id/dscItemTwo" 
android:text="Desciption" 
android:layout_height="wrap_content" 
android:layout_width="fill_parent" 
android:textStyle="italic" 
android:textColor="#666666" 

></TextView> 

exprowレイアウトこれは、拡張レイアウトです。あなたのregisterForContextMenu

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 

> 
<TextView 
android:layout_gravity="right" 
android:layout_height="wrap_content" 
android:layout_width="wrap_content" 
android:id="@+id/manuItem" 
android:textColor="#994020" 
android:text="Manufacturer" 
android:layout_marginRight="10dip" 
></TextView> 

<TextView 
android:text="Description" 
android:id = "@+id/dscItem" 
android:layout_width = "wrap_content" 
android:layout_height="wrap_content" 
android:layout_gravity="right" 
android:layout_marginRight="10dip" 
android:textColor="#994020" 
></TextView> 

</LinearLayout> 
+0

私は馬鹿であることですが、どこの長いクリック方法がありますか? – Blundell

+0

私はあなたがばかげているのではないかと疑っています。私は26のハンディキャップを持った人です。私はそれがregisterForContextMenu()に含まれていると仮定していましたが、私はどこかでそれを読むと思います... .. – atomSmasher

+0

ああなぜあなたはあなたのリストにあなたの文脈を登録してコメントアウトしたのですか?代わりに他のビューを膨らませるのですか?私はこれがあなたの誤りだと思います。 – Blundell

答えて

1
+0

これは私にとってはうまくいかないでしょう。 9時間後に私は渡して、setOnCreateContextMenuListener()の代わりにregisterForContextMenu()とonCreateContextMenu()を使用しました。理由は分かりませんが、動作しますが、動作します。 – atomSmasher

関連する問題