1

ユーザーが選択した項目を表示するトースト メッセージを表示しようとしています。別のクラスからインテントとしてリストを渡し、コードが次のクラスでそれを受け取りました。

public class ListViewDelete extends ListActivity {



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.activity_list_view_delete);

    final Intent intent = getIntent();
    final Bundle extras = getIntent().getExtras();    //gets the GWID

    final MySQLitehelper dbhelper = new MySQLitehelper(this);
    ArrayList<String> thelist = new ArrayList<String>(extras.getStringArrayList(SelectOptions.EXTRA_MESSAGE));
    setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,extras.getStringArrayList(SelectOptions.EXTRA_MESSAGE)));
}       

public void onListItemClick(ListView parent, View view, int position, long id)
{
    Toast.makeText(this, "You have selected", Toast.LENGTH_LONG).show();
}
}

最後のonListItemClickで、「選択しました」の後に、上で定義したarraylistアイテムから値を入れることができるようにカスタマイズするにはどうすればよいですか?

4

2 に答える 2

2
 public void onListItemClick(ListView parent, View view, int position, long id)
{
Toast.makeText(this, "You have selected"+position, Toast.LENGTH_LONG).show();
}
于 2012-12-03T09:28:29.257 に答える
1

インデックスと配列リストがある場合は、コレクション内の文字列をインデックスで参照できます。

public class ListViewDelete extends ListActivity {

    private ArrayList<String> thelist;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_list_view_delete);

        final Intent intent = getIntent();
        final Bundle extras = getIntent().getExtras();    //gets the GWID

        final MySQLitehelper dbhelper = new MySQLitehelper(this);
        thelist = new ArrayList<String>(extras.getStringArrayList(SelectOptions.EXTRA_MESSAGE));
        setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,extras.getStringArrayList(SelectOptions.EXTRA_MESSAGE)));
    }       

    public void onListItemClick(ListView parent, View view, int position, long id)
    {
        Toast.makeText(this, "You have selected" + thelist.get(position), Toast.LENGTH_LONG).show();
    }
}

他のメソッドから参照できるようにするために、arrayListをフィールドにしたことに注意してください。

于 2012-12-03T09:47:13.373 に答える