0

リストにいくつかの文字列値を入力しました。次に、アイテムをクリックすると...チェックしたすべてのアイテムのトーストメッセージが表示されます...問題は、インデックス/文字列/位置をに移動したいということです文字列を入力して次のタブに表示します...しかし、次のタブでは、最初にチェックした項目が表示されます...

protected void onListItemClick(ListView l, View v, int position, long id) {
        //final ViewHolder viewHolder = new ViewHolder();
        SparseBooleanArray sp=getListView().getCheckedItemPositions();

        String str="";
        for(int i=0;i<sp.size();i++)
        {
            str+=items[sp.keyAt(i)]+",";
        }
        Toast.makeText(this, ""+str, Toast.LENGTH_SHORT).show();

        Product.pro_selected= l.getItemAtPosition(position).toString();;

以下を使用して、選択したすべてのアイテムを表示します。

txtPro=(TextView)findViewById(R.id.select_pro_name); 
                txtPro.setText(Product.pro_selected);
4

1 に答える 1

0
protected void onListItemClick(ListView l, View v, int position, long id) {

    ArrayList<String> itemSelected = new  ArrayList<String>();
    itemSelected.add(presidents[position]);
 }

このコードは、次のアクティビティ/画面に移動したときに配置されます

    Intent i = new Intent(getApplicationContext(),Second.class);
    i.putStringArrayListExtra("SelectedItems", itemSelected);
    startActivity(i);

2 番目のアクティビティでは、intent の値を取得して使用します。

Intent intent = getIntent();
ArrayList<String> items = new ArrayList<String>();
items = intent.getStringArrayListExtra("SelectedItems");

これにより、選択したすべてのアイテムが表示されます。

for (int i = 0; i < items.size(); i++) {

Toast.makeText(getApplicationContext(), String.valueOf(items.get(i)), Toast.LENGTH_SHORT).show();
}

それらをリストに表示するには、ListActivity を拡張します。

ListView listView = getListView();
listView.setChoiceMode(listView.CHOICE_MODE_NONE);

setListAdapter(new ArrayAdapter<String>
                (this,android.R.layout.simple_list_item_1,items));

選択したアイテムを表示するには

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        // TODO Auto-generated method stub
        Toast.makeText(getApplicationContext(), items[position], Toast.LENGTH_SHORT).show();
        super.onListItemClick(l, v, position, id);
    }
于 2012-05-03T11:49:01.723 に答える