AndroidStudio中ArrayAdapter未在ListView中显示添加的元素。
创始人
2024-08-20 13:30:17
0
  1. 确认你已经实例化了ArrayAdapter,并将它设置给了ListView。

  2. 调用ArrayAdapter的add()方法或addAll()方法添加元素。

示例代码:

ListAdapter.java

public class ListAdapter extends ArrayAdapter { private ArrayList items; public ListAdapter(Context context, ArrayList items){ super(context, R.layout.list_item, items); this.items = items; }

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View view = convertView;
    ViewHolder holder;

    if(view == null){
        LayoutInflater inflater = ((Activity)getContext()).getLayoutInflater();
        view = inflater.inflate(R.layout.list_item, null);

        holder = new ViewHolder();
        holder.text = (TextView)view.findViewById(R.id.item_text);
        view.setTag(holder);
    }
    else{
        holder = (ViewHolder)view.getTag();
    }

    holder.text.setText(items.get(position));

    return view;
}

private static class ViewHolder{
    public TextView text;
}

}

MainActivity.java

public class MainActivity extends AppCompatActivity {

private ArrayList items;
private Button addButton;
private ListView listView;
private ListAdapter listAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    addButton = (Button)findViewById(R.id.add_button);
    listView = (ListView)findViewById(R.id.list_view);
    items = new ArrayList();
    listAdapter = new ListAdapter(this, items);
    listView.setAdapter(listAdapter);

    addButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            addItem();
        }
    });
}

private void addItem(){
    EditText editText = (EditText)findViewById(R.id.edit_text);
    String itemText = editText.getText().toString();
    if(itemText.length() > 0){
        items.add(itemText);
        listAdapter.notifyDataSetChanged();
        editText.setText("");
    }
}

}

这个示例代码演示了如何将元素添加到ListView中,添加到ArrayList中的元素会自动显示到ListView上。如果手动调用了listAdapter的notifyDataSetChanged()方法,则ListView会刷新并显示新添加的元素。

相关内容

热门资讯

一分钟带你了解!aapoker... 一分钟带你了解!aapoker怎么拿好牌,aapoker辅助插件工具,线上教程(有挂透明)准备好在a...
我来分享!hhpoker可以控... 我来分享!hhpoker可以控制牌吗,德州局透视,辅助教程(有挂透视);大神普及一款德州ai内幕,确...
科技揭秘!约局吧app有挂吗,... 科技揭秘!约局吧app有挂吗,wepoker透视脚本网页,总结教程(有挂技巧);小薇(透视辅助)致您...
一起来讨论!hhpoker是正... 1、一起来讨论!hhpoker是正品吗,大菠萝免费辅助,wpk教程(有挂神器)。2、大菠萝免费辅助透...
推荐十款!aapoker发牌逻... 您好,佛手大菠萝有挂吗这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在...
玩家必看科普!wepoker买... 自定义wepoker买钻石有用吗系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅...
热点讨论!wepoker透视是... 热点讨论!wepoker透视是真的吗,wepoker手机版辅助,教你教程(有挂透视)1、点击下载安装...
我来教大家!wejoker黑侠... 我来教大家!wejoker黑侠辅助器,wepoker透视脚本免费使用视频,必赢方法(有挂透视);致您...
分享实测!菠萝辅助器免费版的特... 分享实测!菠萝辅助器免费版的特点,we-poker辅助软件教程,靠谱教程(有挂透视);原来确实真的有...
一分钟了解!德州透视是真的吗,... 1、一分钟了解!德州透视是真的吗,德普之星辅助工具如何设置,安装教程(有挂透视)2、进入游戏-大厅左...