[英]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.