【问题标题】:Checked list item display only one value选中的列表项只显示一个值
【发布时间】:2016-02-05 11:35:05
【问题描述】:

我用一些字符串值填充列表..然后在单击项目后...我能够看到所有选中项目的 Toast 消息...问题是我想移动索引/字符串/position 到一个字符串并在下一个选项卡上显示它...但是在下一个选项卡上它给了我我首先检查的项目...

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);

【问题讨论】:

标签: android string


【解决方案1】:
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);

在Second Activity中获取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);
    }

【讨论】:

  • 如何获得第二个活动的价值...我使用 Bundle extras = getIntent().getExtras(); String selected = extras.getString("Selected"); 但是当我单击任何项​​目时它只会显示下一个布局...
  • 没有人....相同的结果...列表中有 10 个项目...在每个项目上单击它都会将我带到下一个布局..
  • 哦,是的,你必须给用户一个 Button 或 OptionMenu 来导航到下一个活动并在那里写上上面的内容。没有其他方法可以实现这一点。
  • 好吧..知道了...但还有一个问题...它只显示单个项目,但是任务是在下一个选项卡/布局上显示所有选中的项目,留下未选中的项目..
  • 它给了我最后点击的值...我使用了 txtPro=(TextView)findViewById(R.id.select_pro_name); txtPro.setText(Product.pro_selected); 在我的 total.xml 中,我使用了列表还是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-22
  • 1970-01-01
  • 2019-07-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多