簡體   English   中英

將項目添加到片段中的 ListView

[英]Adding items into a ListView in a fragment

我想通過 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 的新手,謝謝。

將項目添加到數組列表后,使用適配器的 notifyDataSetChanged() 方法。

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

希望它會有所幫助!

只需在onclick方法中添加notifyDataSetChanged 您的數據已成功添加到 arraylist 中,但您的適配器不知道您已通知適配器。 像這樣

 arrayList.add(Aceptar);
 //this will notify the adapter whole is changed
 adapter.notifyDataSetChanged();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM