【问题标题】:How to Show selected data in Toast?如何在 Toast 中显示选定的数据?
【发布时间】:2013-05-29 13:13:02
【问题描述】:

我正在使用以下代码显示数据,我想在我的情况下单击 listItem 时显示 Toast 中列表项的数据不显示,请帮助。谢谢

 public class MainActivity extends ListActivity {
  protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ArrayList<Map<String, String>> list = buildData();
        String[] from = { "name", "purpose" };
        int[] to = { android.R.id.text1, android.R.id.text2 };

        SimpleAdapter adapter = new SimpleAdapter(this, list,
            android.R.layout.simple_list_item_2, from, to);
        setListAdapter(adapter);
      }

      private ArrayList<Map<String, String>> buildData() {
        ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>();
        list.add(putData("Android", "Mobile"));
        list.add(putData("Windows7", "Windows7"));
        list.add(putData("iPhone", "iPhone"));
        return list;
      }

      private HashMap<String, String> putData(String name, String purpose) {
        HashMap<String, String> item = new HashMap<String, String>();
        item.put("name", name);
        item.put("purpose", purpose);
        return item;
      }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        // TODO Auto-generated method stub
        super.onListItemClick(l, v, position, id);

         Toast.makeText(getApplicationContext(), ???????????????????????????,
                  Toast.LENGTH_SHORT).show();
    }



    }

【问题讨论】:

    标签: android listview toast


    【解决方案1】:

    您可以在 Toast 中显示选定的行数据,就像在 ListView Row Click 上一样:

    @Override
        protected void onListItemClick(ListView l, View v,
                                   int position, long id) {
            // TODO Auto-generated method stub
            super.onListItemClick(l, v, position, id);
            Map<String, String> selecteddata = 
                 (Map<String, String>)l.getAdapter().getItem(position);
    
            String str_selected_data="name :: "+selecteddata.get("name") +
                  " purpose :: " +selecteddata.get("purpose");
             Toast.makeText(getApplicationContext(), str_selected_data,
                      Toast.LENGTH_SHORT).show();
        }
    

    【讨论】:

      【解决方案2】:

      类似

      Toast.makeText(getApplicationContext(), l.getItemAt(position).toString(),Toast.LENGTH_SHORT).show();
      

      会解决你的问题

      【讨论】:

        【解决方案3】:
        mlist.setOnItemClickListener(new OnItemClickListener() {
        
                @Override
                public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                        long arg3) {
                    // TODO Auto-generated method stub
                    String innString = String.valueOf(imagelist[(int) arg2]);// imagelist[(int)
                                                                                // arg2]
                    Toast.makeText(getApplicationContext(), innString, 500).show();
        
        
                }
            });
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-12-01
          • 2011-03-30
          • 1970-01-01
          • 2012-11-27
          • 2019-09-12
          • 1970-01-01
          相关资源
          最近更新 更多