在按钮的ListView OnClick中添加项目

时间:2015-02-14 19:46:24

标签: android listview android-listview

我知道这个问题已经遍布整个地方,但即使经过所有帖子并试图理解,我也无法解决这个问题。我在Android中开发应用程序非常新,所以我肯定需要很多帮助。无论如何,我发现一些在线编码基本上创建了一个列表视图(我想要的布局方式),你可以添加项目到列表视图。这是代码 -

 ListView lv;
ArrayList<HashMap<String,String>> feedList;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_check_out);

    lv = (ListView) findViewById(R.id.CheckList);

    feedList= new ArrayList<HashMap<String, String>>();
    HashMap<String, String> map = new HashMap<String, String>();
    map.put("item", "Item");
    map.put("qty", "Qty");
    map.put("tax", "Tax");
    map.put("total", "Total");
    feedList.add(map);

    SimpleAdapter simpleAdapter = new SimpleAdapter(this, feedList, R.layout.list_view_customs, new String[]{"item", "qty", "tax", "total"}, new int[]{R.id.textViewItem, R.id.textViewQty, R.id.textViewTax, R.id.textViewTotal});
    lv.setAdapter(simpleAdapter);

正如您所看到的那样,通过实现哈希映射将项目添加到arraylist中,然后适配器将接收数据arraylist以创建列表视图 - 该视图由setAdapter功能设置。

所以,现在因为我想通过点击按钮填充列表视图,我认为这可能有效:

ListView lv;
Button addBanana;
ArrayList<HashMap<String,String>> feedList;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_check_out);

    lv = (ListView) findViewById(R.id.CheckList);
    addBanana = (Button) findViewById(R.id.AddItem);

    feedList= new ArrayList<HashMap<String, String>>();
    HashMap<String, String> map = new HashMap<String, String>();
    map.put("item", "Item");
    map.put("qty", "Qty");
    map.put("tax", "Tax");
    map.put("total", "Total");
    feedList.add(map);

    SimpleAdapter simpleAdapter = new SimpleAdapter(this, feedList, R.layout.list_view_customs, new String[]{"item", "qty", "tax", "total"}, new int[]{R.id.textViewItem, R.id.textViewQty, R.id.textViewTax, R.id.textViewTotal});
    lv.setAdapter(simpleAdapter);

        addBanana.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
         map = new HashMap<String, String>();
         map.put("item", "Banana");
         map.put("qty", "1");
         map.put("tax", "0.13");
         map.put("total", "1.13");
         feedList.add(map);
         simpleAdapter.notifyDataSetChanged();
        }
    });
  }

它完美地建立起来。但是当我尝试通过单击按钮(在主要活动中)进入此活动时,屏幕变暗并说要退出..所以,我不确定这种方法有什么问题。我知道我处理适配器的方式肯定有问题......所以,任何反馈都会很好..非常感谢!

另外,如果您需要XML,请告诉我们!

再次,抱歉再次重新提问,我迫切需要帮助..

0 个答案:

没有答案