質問

私は最初のAndroidプロジェクトに取り組んでおり、XMLメソッドを介してメニューを作成しました。私のアクティビティは、メインレイアウトをロードするという点で非常に基本的です(私の文字列配列のリストビューを含む)。これが私のアクティビティ内のコードです:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // allow stuff to happen when a list item is clicked
    ListView ls = (ListView)findViewById(R.id.menu);
    ls.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            // @todo
        }
    });
}

onitemclickコールバックハンドラー内で、どのアイテムがクリックされたかを確認し、それに基づいて新しいメニューをロードしたいと思います。

質問1:クリックされたアイテムを把握するにはどうすればよいですか?取得/テストに関する簡単な例が見つかりません id クリックされたアイテムの値。

質問2:後になります id 値、私はただ電話できると思います setContentView もう一度、新しいメニューを含む別のレイアウトに変更します。あれは正しいですか?

役に立ちましたか?

解決

I'm working on my first Android project, and I created a menu via the XML method.

Actually, Android has a separate concept of menus, so I'd be a bit wary about describing your UI in those terms.

How do I go about figuring out which item was clicked?

If you are using an ArrayAdapter, the position parameter passed to onItemClick() is the index into your array.

I assume I can just call the setContentView method again to change to another layout containing my new menu. Is that correct?

Yes, though there may be better approaches to the UI that will be more Android-y. Most Android applications do not start off with some sort of multi-layer navigation before you actually get to do something.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top