从另一个活动获取textView的文本

时间:2015-09-25 10:58:34

标签: java android android-intent static textview

我正在尝试从位于类2中的textview获取文本,通过按下按钮在类1中使用它。我通过发送一个Intent来做到这一点,但是我得到了我的内容错误。这就是我要发送的内容(从第2课到第1课):

public static void intent_send(){
Intent i = new Intent();
i.putExtra("number",Integer.parseInt(text_view_current_page.getText().toString()));
class2.startActivity(i);
}

text_view_current_page是一个静态TextView,否则在此void中有错误。我通过按下第1课中的按钮来调用此空白:

Class2.intent_send();
Intent i = getIntent();
Bundle b = i.getExtras();
PagerNumber = b.getInt("number");

我在内容定义的行中有错误:

i.putExtra("number",Integer.parseInt(text_view_current_page.getText().toString()));

我应该怎么处理这个textView才能通过按下按钮从另一个类中获取它的文本?它应该是静态的,还是应该在接收意图的那个类中声明它?

1 个答案:

答案 0 :(得分:1)

在Android活动中完全分离的组件,因此这些组件无法直接访问彼此的内容。它们有自己的窗口和视图层次结构,仅对所有者活动本身是私有的。

然而,活动有两种方式可以互相交流。

  1. 通过Intent开始第二个活动时发送数据。
  2. 将Application对象用作所有应用程序组件中的共享对象。
  3. 注册活动广播接收器,您可以通过它在活动之间发送信号。
  4. 我对您案例的建议:

    如果在您的情况下,第二个活动应该与第一个活动关系非常密切(例如访问其视图层次结构),您可以将第二个活动实现为对话框或片段而不是活动。