4

私は Android の世界では比較的新しいのですが、簡単な質問があります。

データベースによって入力される潜在的に無制限の量の行を含む 1 つのページにリストがあります。これらは、タイプ (顧客など) に基づいてさまざまなアクティビティに移動します。ユーザーがタップしたアクティビティに基づいて、特定のアクティビティにユーザーを送ることは可能ですか?

スイッチ/ケースに基づくいくつかのソリューションを見てきましたが、これは、有限のアイテムのリストがあり、それらのアイテムの名前を事前に知っている場合に使用されるようです。

つまり、スイッチ/ケース ソリューションを使用する場合、アプリケーションはどのボタンがどのケースに移動するかをどのように認識するのでしょうか? これは、リスト自体またはデータベース内の何かで定義する必要がありますか?

開発はそれほど進んでおらず、プロジェクトについても秘密保持契約を結んでいるため、現時点ではコードを提供できません。

4

1 に答える 1

3

でそれを行うことができますsetonitemclicklistener()。この関数は、リスト ビューのいずれかの行をクリックするたびに呼び出されます。クリックしたアイテムの位置/行番号もこの関数に渡されます。

データベースを使用してリストを作成しているため、次のことができます。

     setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES));

          ListView lv = getListView();
          lv.setTextFilterEnabled(true);

            //SEE THIS FUNCTION

            lv.setOnItemClickListener(new OnItemClickListener() {
                public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                  /*
                    "position" is the position/row of the item that you have clicked

                    Query your table. Then move the cursor to "position" and get the 
                    details. THen based on the details call a new activity.

                    */
                    Cursor cur=db.query("your table name",null,null,null,null,null.null);
                    cur.moveToPosition(position); // see the argument int position

                //Extract details from this row,process it and send to the respective activiy                       
  });
于 2012-06-20T13:39:36.760 に答える