意图值(json 数组)到 Listview
Posted
技术标签:
【中文标题】意图值(json 数组)到 Listview【英文标题】:Intent values (json array) to Listview 【发布时间】:2018-02-05 08:01:54 【问题描述】:是否可以将Intent
值从一个Activity
放入另一个ListView
中的Activity
?
以下是来自Activity1
的值,我想将它们放入Activity2
中的ListView
:
try
jsonobject = new JSONObject(json);
jsonarray = jsonobject.getJSONArray("user");
JSONObject jb= jsonarray.getJSONObject(0);
//Username = jb.getString("Username");
Password = jb.getString("Password");
Fullname = jb.getString("Fullname");
Email = jb.getString("Email");
Bio = jb.getString("Bio");
Location = jb.getString("Location");
fn.setText(Fullname);
em.setText(Email);
loc.setText(Location);
b.setText(Bio);
if(json!=null)
Intent i = new
Intent(HomePageActivity.this,ProfileActivity.class);
i.putExtra(u.username(), u.getUsername());
i.putExtra("password",Password);
i.putExtra("fullname",Fullname);
i.putExtra("email", Email);
i.putExtra("bio", Bio);
i.putExtra("location", Location);
startActivity(i);
finish();
catch(Exception e)
e.printStackTrace();
【问题讨论】:
将您的值添加到ArrayList<String>
,使用Intent
传递给另一个活动,将字符串列表检索到另一个活动中并将值绑定到ListView
即使按照您的方式进行操作也可以。您面临的问题是什么?
我终于将arraylist的值显示到listview了!!谢谢各位
【参考方案1】:
您可以将意图值从一个活动放到另一个活动的列表视图中。
在另一个活动中,您可以使用getIntent().getExtras().getString("key...");
。但这只能是一行。
对于发送数组,您应该看到Sending arrays with Intent.putExtra。
发送arraylist,Passing ArrayList through Intent。
希望对你有帮助。
【讨论】:
这是通过意图传递我的数组列表的正确方法吗?这是我的更新代码:pastebin.com/Gu88pBtW【参考方案2】:是的,你可以。我可以看到您想使用intent
将user
object
的所有值传递给另一个活动。您可以像上面那样传递单个值,或者您可以将用户对象直接传递为 -
i.putExtra("MyClass", u); //u is the user object here
您可以在目标活动中取回您的user
对象 -
getIntent().getSerializableExtra("MyClass"); //Make sure that your user model class implements serializable
如果是用户列表视图,您可以将此用户对象添加到您的用户数组中。这是您必须在目标活动中为适配器设置的数组。现在你可以打电话了-
adapter.notifyDataSetChanged();
这将在您的列表视图中进行新的更改。谢谢。
【讨论】:
以上是关于意图值(json 数组)到 Listview的主要内容,如果未能解决你的问题,请参考以下文章