gongkanaa
gongkanaa
采纳率25%
2017-01-20 02:08 阅读 978

有个关于android listview的问题 菜鸟一枚求助

一个button 一个editext 一个listview 点击button后取得editext的值 然后把赋值到listview 每点击一次button创建一个listview的item然后item的数据就是editext取得的值

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    u013322594 ministar丶 2017-01-20 02:44

    把edittext的值存在list里,每点击button,就list.add(edittext的值),再写一个listview的适配器,传list,再刷新一遍适配器
    private List list=new ArrayList<>();
    private MyAdapter adapter;

    1、button 点击事件:
    String text=editText5.getText().toString();
    if(!text.equals("")){
    list.add(text);
    adapter=new MyAdapter(this,list);
    listview.setAdapter(adapter);
    adapter.notifyDataSetChanged();

        }
    2、适配器
     class MyAdapter extends BaseAdapter{
        private Context context;
        private List<String> list;
    
        public MyAdapter(Context context, List<String> list) {
            this.context = context;
            this.list = list;
        }
    
        @Override
        public int getCount() {
            return list.size();
        }
    
        @Override
        public Object getItem(int position) {
            return list.get(position);
        }
    
        @Override
        public long getItemId(int position) {
            return position;
        }
    
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolder viewHolder = null;
            if (convertView == null) {
                convertView = LayoutInflater.from(context).inflate(
                        R.layout.dblist_item, parent, false);
                viewHolder = new ViewHolder(convertView);
                convertView.setTag(viewHolder);
            } else {
                viewHolder = (ViewHolder) convertView.getTag();
            }
            final String s = (String) getItem(position);
            viewHolder.textView.setText(s);
    
            return convertView;
        }
    }
    static class ViewHolder {
        @BindView(R.id.textView)
        TextView textView;
    
        ViewHolder(View view) {
            ButterKnife.bind(this, view);
        }
    }
    
    点赞 1 评论 复制链接分享
  • zjh_1993 Littlechoc 2017-01-20 02:43

    用一个ArrayList存储你的数据,和ListView的Adapter绑定在一起,点击一下Button就把EditText的值取出来add到ArrayList里,在Adapter.notifyDataSetChanged通知ListView更新数据。

    点赞 评论 复制链接分享

相关推荐