0

さて、私はいくつかのチュートリアルを備えたアプリを持っています.(約20) (各チュートリアルは、アクティビティ画面に入力されたテキストです)

メイン メニューに、すべてのチュートリアルのアクティビティの名前をアルファベット順に含むリストビュー アクティビティを指すボタンを作成したいと考えています。

完璧なナビゲーションではないことはわかっています。しかし、もっと学ぶまでは、それが最善の迅速かつ簡単な解決策だと思います.

問題は次のとおりです。どのリストビュー項目がクリックされたかを調べ、対応するチュートリアル アクティビティを開く通常の onclick() を配置します。

listview を正確に設定するにはどうすればよいですか? 通常のonclickがどのように機能するかは知っています...しかし、リストビューアイテムでそれを行う方法は?

https://groups.google.com/forum/#!forum/android-developersからここに来ました

ここで初歩的な質問をしてもいいとのことですが、人々は貴重な時間を意地悪に費やしているようです。それは本当に価値がありますか?知っていれば、助けてください。(コード例は素晴らしいでしょうが、助けていただければ幸いです)

4

3 に答える 3

2

この例では、list1 という名前で、レイアウト ファイルで定義されている listView を初期化する方法を示します。res\layout\main.xml

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);
    ListView list = (ListView) findViewById(R.id.list1);
    String[] days = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, days);
    list.setAdapter(adapter);

    /**
      * go to next activity for detail image
      */
    list.setOnItemClickListener(new OnItemClickListener() {

       @Override
       public void onItemClick(AdapterView<?> parent, View v, final int position, long id) {
           System.out.println(v+position);
           Intent intent = new Intent(A.this, B.class);
           startActivity(intent);
        }
    });
}

さらに 2 つの例を次に示します。

于 2013-07-19T11:21:33.833 に答える
0

使用する必要があります

listview.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
            // start a new activity here        
        }
    });

リスト内の項目のposition位置です。

于 2013-07-19T11:18:20.960 に答える
0

この美しいAndroid ListViews の紹介 をご覧ください。詳細な説明と、ダウンロード可能なサンプル ソース コードが含まれています。

もちろん、今まで何度も解いたことがない問題に対して明確な質問をするのであれば、初心者でも質問できます。あなたの質問に対する答えが単純な Web 検索で見つかる場合は、Stackoverflow で質問する前に、この調査作業を行う必要があります。

于 2013-07-19T11:19:11.553 に答える