首先对我的英语不好,如果抱歉:D
我的问题是:我有2个arraylist,一个用于ListView上的项目,另一个用于当您单击项目时它们将进入其他活动。我该怎么办?
我写了适配器,我可以在其他活动中显示第一个ArrayList,但我想在其他活动中显示第二个Arraylist。
这是我的第一次活动
Error using struct
Conversion to struct from double is not possible.
这是我的第二个
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mahlukbilgi1);
ListView listView = (ListView) findViewById(R.id.listMahluk);
final ArrayList<String> list1= new ArrayList<String>();
ArrayList<String> list2 = new ArrayList<String>();
ArrayAdapter arrayAdapter = new ArrayAdapter(this, R.layout.list_white_text, list1);
listView.setAdapter(arrayAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(getApplicationContext(), MahlukdetayActivity.class);
intent.putExtra("name", list1.get(position));
startActivity(intent);
}
});
}
通过这种方式,我可以显示list1,但我想显示list2而不是list1。
答案 0 :(得分:0)
您想将arrayList从一个活动发送到第二个活动,并显示到第二个活动中的列表
ArrayList<String> list = new ArrayList<String>();
Intent intent = new Intent(this, SecondActivity.class);
Bundle bundle = new Bundle();
bundle.putParcelableArrayList("list",list);
intent.putExtras(bundle);
this.startActivity(intent);
第二次活动
Bundle bundle = getIntent().getExtras();
ArrayList<String> list = bundle.getParcelableArrayList("list");
答案 1 :(得分:0)
如果需要,您可以通过存储在数据库中列出传递值到另一个活动,或者将其存储在第一个活动首选项中,然后在第二个活动中获取它们,或者使用可以将附加值传递给另一个活动。
您还可以将其列为静态列表并在其他活动中使用。
答案 2 :(得分:0)
简单点: 将第二个arraylist声明为静态,并在第二个活动中对其进行访问。
FirstActivity.java
publid static ArrayList<String> mMyList = new ArrayList<>();
SecondActivity.java
//access
System.out.println("My List : "+FirstActivity.mMyList );