0

私はこのアルゴリズムにこの機能を実装する正しい方法を理解しようとしています。私は "ログ履歴"、 "新しいログ"、 "分析"、 "設定"のための特定のアクティビティを開くことができるようにしたいと思います。ナビゲーションドロワーの配列から選択するときに特定のアクティビティを開くにはどうすればよいですか?

private void addDrawerItems() { 
    String[] osArray = { "Log History", "New Log", "Analytics", "Settings"}; 
    mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, osArray); 
    mDrawerList.setAdapter(mAdapter); 

    mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      Intent intent = new Intent(MainActivity.this, NewLogActivity.class); 
      startActivity(intent); 
     } 
    }); 
} 

答えて

1

位置が0または1で開始した場合、私は覚えていないことができますが、それはあなたに何をすべきかのアイデアを与える必要があり、あなたがあなたの配列を変更することはありません

@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    switch (position) { 
    case 0: //Log History 
     startActivity(this, LogHistory.class); 
     break; 
    case 1: //Log History 
     startActivity(this, NewLog.class); 
     break; 
    case 2: //Log History 
     startActivity(this, Analytics.class); 
     break; 
    case 3: //Log History 
     startActivity(this, Settings.class); 
     break; 
    default: 
     throw new InvalidArgumentException("wtf, unknown position"); 
    } 
} 

を仮定。

+1

私はstartActivityの中で必要な新しいIntentの減速を取り除いたことに気付くために今朝目を覚ましましたが、あなたはそれがどのように動作するかの考えを得ます。 – Jeff

関連する問題