我有一个EditText,要在阵列中单击按钮以存储值,在第二个Activity中,我想在Listview中显示这些值。我在另一个活动中存储和显示值时遇到一些问题。
答案 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));
}
});