我需要Activity A来从Activity B中的textview中检索字符串值。我不希望Activity B发送数据,我只想让Activity A伸出来并从B中获取数据。了解Bundles和Intents,但我遇到的问题是,每次访问Activity B时,它都会将捆绑的意图发送给A.我不希望这种情况发生,我只想让Activity A从Activity中获取字符串B访问活动A时的文本视图。我正在使用Android 2.2和SDK 8。
答案 0 :(得分:1)
如果我理解正确,你的问题是活动A和活动B没有说话,所以你需要从A访问某些数据而不涉及B。
Imho你可以解决这个问题,将数据保存在两个活动共享的地方。 您可以使用“数据存储”一章中列出的选项之一:
http://developer.android.com/guide/topics/data/data-storage.html
如果它只是一个简单的字符串,我会使用共享首选项。
那就是说,你想要的并不是很清楚。
答案 1 :(得分:0)
public class A extends Activity {
public static TextView textView = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textView=(TextView)findViewById(R.id.textView);
}
}
公共类B扩展了活动{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Thats how you can get the data from Activity A UI Control
//A.textView.getText().toString()
Log.i("Activity A TextView Data" , A.textView.getText().toString());
}
}
答案 2 :(得分:0)
将活动B的textview字符串保存为持久存储。
http://developer.android.com/guide/topics/data/data-storage.html
答案 3 :(得分:0)
问题是,当活动A处于活动状态时,您无法假设任何活动视图B可用。事实上,Android可以在后台垃圾收集活动B.活动不像“窗户”;他们更加独立。
但是,我很确定你可以通过实现两个片段来实现这一点。