首页 > 解决方案 > 将项目添加到片段中的 ListView

问题描述

我想通过editText在ListView中添加项目,但是当我运行我的代码时,它不起作用。

public class EventosFragment extends Fragment {
private ListView lista;
private Button boton;
EditText editText;
ArrayList<String> arrayList;
ArrayAdapter<String> adapter;

public View onCreateView(@NonNull LayoutInflater inflater,
                         ViewGroup container, Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.fragment_eventos, container, false);

    String[] Lista = {};
    ListView listView = (ListView) view.findViewById(R.id.Lista);
    arrayList = new ArrayList<>(Arrays.asList(Lista));
    adapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,arrayList);
    listView.setAdapter(adapter);

    editText = (EditText) view.findViewById(R.id.edittxt);
    Button btnAdd = (Button) view.findViewById(R.id.Aceptar);
    btnAdd.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String Aceptar = editText.getText().toString();
            arrayList.add(Aceptar);
        }
    });

    return view;
}
}

任何建议都可以,我是Java新手,谢谢。

标签: javaandroidandroid-studioandroid-fragments

解决方案


将 item 添加到 arraylist 后,使用适配器的 notifyDataSetChanged() 方法。

btnAdd.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String Aceptar = editText.getText().toString();
            arrayList.add(Aceptar);
            adapter.notifyDataSetChanged();
        }
    });

希望它会有所帮助!


推荐阅读