我的活动之间的互动:
点击listview.java中的listview中的一行>
转到Edit.java编辑有关该特定行的信息>
完成编辑后,点击按钮,完成edit.java活动>
返回listview.java。
但是,在返回到listview.java FROM edit.java时,它不会显示先前单击的列表视图的特定行的新更新信息。
只有当我离开listview活动并再次返回时,才会重新更新信息。
listview.java:
<Header
statusBarProps={{ barStyle: 'light-content' }}
centerComponent={{ text: 'Dashboard', style: { color: '#fff' } }}
outerContainerStyles={{ backgroundColor: '#324C66' }}
/>
答案 0 :(得分:1)
数据来自步骤1,2和3。
listview.java:
loggingIn
Edit.java:
loginFailed
答案 1 :(得分:0)
这取决于您的项目存储位置(数据库?)以及编辑活动是否将更改保存到数据库。假设是这种情况,你应该
startActivityForResult()
来启动编辑活动setResult()
和finish()
返回列表视图活动onActivityResult()
检查您是否从编辑活动返回,如果是,则从数据库重新加载数据并使用listview的notifyDataSetChanged()
这只是一个基本的工作流程,可以进行各种优化。
答案 2 :(得分:0)
以下代码演示了listview的基本实现。
在关于创建方法的活动中:
ListView listView = (ListView) findViewById(R.id.list);
// Defined Array values to show in ListView
String[] values = new String[] { "Android List View",
"Adapter",
"Simple List View ",
"Create List View ",
"Android Example",
"List View ",
"Array Adapter",
"Android List View"
};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, values);
listView.setAdapter(adapter);
在字符串数组(即值)上添加/删除/更新后,调用adapter.notifydatasetchanged(); 例如:在我的例子中,values数组中有8个项目:
values[7] = "Android Example List View";
adapter.notifyDataSetChanged();
然后您会看到列表视图已更新。实际上,您的适配器获取Array,然后将该数据发送到listview。 Listview直接不处理字符串数组。每次在Array上执行某种CRUD操作时,都会调用adapter.notifyDataSetChanged();列表视图反映您所做的更改。在应用程序中,我通常会将阵列替换为Arraylist,因为这样可以更轻松地添加和删除。
答案 3 :(得分:0)
那里有很多问题。首先,您要在intent中发送该对象的属性,而不是对象本身。最快的方式(不是最好的方式)是发送对象(SalesItemInformationLV saleitem2)。为此,对象需要实现Serializable接口。
这是传递可序列化对象的方法: Passing data through intent using Serializable
使用此解决方案非常重要:https://developer.android.com/training/basics/intents/result.html?hl=en-419
然后,在onActivityResult()中你应该调用adapter.notifyDataSetChanged();
请记住将适配器声明为全局属性(在方法之外)。
答案 4 :(得分:0)
您可以在onResume方法活动中使用adapter.notifyDataSetChanged();
,但最好使用startActivityForResult
和setResult
方法。