我的RetrieveActivity.java中有一个arraylist,我想将它转移到另一个GraphActivity.java活动。我需要那个arraylist数据来在我的GraphActivity中制作图表。
这是我的RetrieveActivity.java代码
public class RetrieveActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_retrieve);
}
private class MyAsyncTask extends AsyncTask<String, Void, String>
{
public ArrayList<String> tempList=new ArrayList<String>();
public ArrayList<String> dataList=new ArrayList<String>();
public ArrayList<String> atList=new ArrayList<String>();
public ArrayList<String> timeList=new ArrayList<String>();
}
}
所以我想把arraylist数据传给GraphActivity。
public class GraphActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_graph);
}
}
提前tq。
答案 0 :(得分:5)
在RetrieveActivity类中,执行以下操作:
Intent intent = new Intent(RetrieveActivity.this, GraphActivity.class);
intent.putStringArrayListExtra("list1", mArrayList1);
intent.putStringArrayListExtra("list2", mArrayList2);
intent.putStringArrayListExtra("list3", mArrayList3);
startActivity(intent);
然后在GraphActivity中,执行此操作以检索列表:
Intent i = getIntent();
ArrayList<String> newList1 = i.getStringArrayListExtra("list1");
ArrayList<String> newList2 = i.getStringArrayListExtra("list2");
ArrayList<String> newList3 = i.getStringArrayListExtra("list3");
答案 1 :(得分:0)
您也可以将ArrayLists声明为
public static ArrayList<String> tempList=new ArrayList<String>();
在GraphActivity中,您可以使用
ArrayList newList1 = RetrieveActivity.tempList;`
答案 2 :(得分:0)
晚回答,但很好 声明一个实现Parcelable的对象,实现所有方法。 在编写读写方法时请注意并小心,所有变量的使用方式必须相同。 然后,用数据填充该对象,并将该对象添加到ArrayList中,该对象的类型为您先前创建的对象。
然后创建intent和Bundle,并将其放入其中
Intent intentTest = new Intent(MainActivity.this, Calculation.class);
data.putParcelableArrayList("test", Razlike);
intentTest.putExtra("dataS", data);
//Log.i("intentCheck",String.valueOf(intentTest.getParcelableArrayListExtra("test").size()));
startActivity(intentTest);
在其他活动中读到的就是全部
快乐的编码