更改活动后列表视图消失

编程入门 行业动态 更新时间:2024-10-24 16:32:00
本文介绍了更改活动后列表视图消失的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

几个小时以来,我一直在努力解决有关Java列表视图的问题,这是我正在尝试制作的练习应用程序中的.我在主要活动上有一个列表视图,在从该活动更改并返回到该活动之后,列表视图消失了.我用谷歌搜索,看到人们在改变事物并保存实例,并试图实现它没有成功,但是,这可能是因为我对Java非常陌生.这是代码:

for quite a few hours now, I've been struggling with an issue regarding list views in java in a practice to-do app that I'm trying to make. I have a list view on my main activity and after changing from that activity and back to it, the list view is gone. I googled and saw people changing things and saving instances and tried to implement it with no success, however, that might be because I'm extremely new to java. Here is the code:

public class MainActivity extends AppCompatActivity { private ArrayList items; private ArrayAdapter itemsAdapter; private ListView lvItems; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lvItems = (ListView) findViewById(R.id.lvItems); items = new ArrayList(); itemsAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items); lvItems.setAdapter(itemsAdapter); items.add("Test"); setupListViewListener(); } // Attaches a long click listener to the listview private void setupListViewListener() { lvItems.setOnItemLongClickListener( new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> adapter, View item, int pos, long id) { // Remove the item within array at position items.remove(pos); // Refresh the adapter itemsAdapter.notifyDataSetChanged(); // Return true consumes the long click event (marks it handled) return true; } });} public void onChangeView(View v) { setContentView(R.layout.activity_create); } public void onConfirmItem(View v) { EditText etNewItem = (EditText) findViewById(R.id.etNewItem); String itemText = etNewItem.getText().toString(); itemsAdapter.add(itemText); etNewItem.setText(""); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu items for use in the action bar MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu_main, menu); return super.onCreateOptionsMenu(menu); }

推荐答案

代替此:

lvItems.setAdapter(itemsAdapter); items.add("Test");

执行此操作:

items.add("Test"); lvItems.setAdapter(itemsAdapter);

您要设置一个空适配器&然后填充数组

you are setting an empty adapter & then filling array

@Skynet指出了另一个问题

And the other problem is pointed by @Skynet thanks for that

更多推荐

更改活动后列表视图消失

本文发布于:2023-11-27 07:10:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1637085.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:视图   列表

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!