如何在另一个活动中显示数组列表?

时间:2019-06-05 13:13:47

标签: android listview arraylist

我有一个EditText,要在阵列中单击按钮以存储值,在第二个Activity中,我想在Listview中显示这些值。我在另一个活动中存储和显示值时遇到一些问题。

3 个答案:

答案 0 :(得分:0)

使用回调。

在ClassA中具有stringList: 创建界面

MyCallback callback;

viod setCallback(MyCallback callback){
this.callback = callback;
}
viod onStop(){
    callback = null;
}

interface MyCallback{
    void doSomething(String string);
}
B类中的

: 实施MyCallback

public class ClassB implements ClassA.MyCallback

在onCreate中设置引用

ClassA classA = new ClassA();
classA.setCallback(this);

//覆盖方法doSomething

@override
void doSomething(String string){
 //get your string from your EditText…
}

在A类调用中完成工作时:

callback.doSomething(string);

onStop()中B类内部的销毁引用

classA.onStop();

答案 1 :(得分:0)

通过单击按钮启动第二个活动时,可以使用意图。

Intent intent = new Intent(this, SecondActivity.class);
intent.putStringArrayListExtra("EXTRA_ARRAY", arrayList);
startActivity(intent);

在您的第二项活动中...

List<String> arrayList = getIntent().getStringArrayListExtra("EXTRA_ARRAY");

答案 2 :(得分:0)

您可以在活动中使用一个静态arrayList,例如:

class YourActivity extends AppCompatActivity{

    public static ArrayList yourArray;

    @Override
    void onCreate(Bundle savedInstanceState){

        .......

        // you can use you array to display its content

    }

}

,然后在您的按钮操作中这样做

botton.setOnClickListener(new OnClickListener{
    @Override
    void onClick(View view){

        YourActivity.yourArray = this.arrayList;

        startActivity(new Intent(getContext , YourActivity.class));
    }
});