私はそうのように、私のNavigationView
メニューにカスタム項目を追加する場合:設定データ
Menu menu = navigationView.getMenu();
MenuItem item = menu.add("Item 1");
ように、それがクリックさだとき、どのように私は/、(オブジェクトなど)の項目にデータを設定することができます選択すると、そのデータを開いたアクティビティに渡すことができますか?
私はそうのように、私のNavigationView
メニューにカスタム項目を追加する場合:設定データ
Menu menu = navigationView.getMenu();
MenuItem item = menu.add("Item 1");
ように、それがクリックさだとき、どのように私は/、(オブジェクトなど)の項目にデータを設定することができます選択すると、そのデータを開いたアクティビティに渡すことができますか?
メニュー項目にデータを設定/追加することはできません。このアイテムは、の一部であるべきグループ識別子: - int型を
をgroupIdを:
add()
方法のdocumentationを見ることによって、あなたが設定できることがわかります。これは、バッチ状態の変更のための項目のグループを定義するために使用できます。アイテムがグループに含まれるべきでない場合、通常NONEを使用します。itemId - int:ユニークなアイテムID。一意のIDが不要な場合はNONEを使用します。
オーダー - int:アイテムの順序。注文を気にしない場合はNONEを使用します。 getOrder()を参照してください。
タイトル - CharSequence:アイテムに表示するテキスト。
したがって
:
あなたはこれが私のために意味がありませんitemId
を設定し、onNavigationItemSelected()
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.id_of_menu_item_1) {
// handle intents and passing data
} else if (id == R.id.id_of_menu_item_2) {
// handle intents and passing data
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
内の特定のタスクを処理する必要があります。 MenuItemクラスは、メニュー項目に関連する属性のみを保持します。 MenuItemインスタンス内に他のオブジェクトを配置することはできません。 MenuItemクラスについて見てみましょう:
あなたは現在のアクティビティに新しいアクティビティやロードオブジェクトに必要なデータを取得し、意図を使用して、新しい活動に渡し、ちょうどBundle
を作成して、シリアライズを置くために、リポジトリのパターンを使用することができますまたはその上のパーセルブルオブジェクト。あなたはこれを行うことができますonNavigationItemSelected(MenuItem item)
はい、どのように私は**クリックしたときに活動に渡すことができる**メニュー項目**のデータを設定するのですか?たとえば、アイテムに 'User'オブジェクトを設定するにはどうすればいいのですか?そのアイテムが選択されたら、アクティビティに送信しますか?あなたの例では、アイテムが選択されたときにのみデータを渡すことができます。私が必要とするのは、アイテムにデータを添付し、選択するとそのデータを取得してアクティビティに渡すことです。 – user7556225
メニュー項目にid以外のデータを設定しないでください。それらはクリックすることしかできません。それが起こると、彼らは 'onNavigationItemSelected()'メソッドを呼び出します。ここで、idを読み込んでクリックしたメニュー項目を特定し、必要なタスクを処理します。たとえば、 'intent'を作成してデータを渡すなど、他のタスクを実行する – Marat
私のメニュー項目の多くが同じアクティビティを開きますが、別のデータ(この場合はオブジェクト)を渡す必要がある場合はどうすればいいですか? – user7556225