得到编辑文本的文本和文本视图写

问题描述:

我有以下代码:得到编辑文本的文本和文本视图写

public class Activity2 extends Activity { 
    /** Called when the activity is first created. */ 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.accounted); 

     TextView tv1 = (TextView) findViewById(R.id.textView1); 
     EditText et1 = (EditText) findViewById(R.id.editText1); 
     String text1 = et1.getText().toString(); 

当我注释掉“字符串文本1 ...”行程序工作。但如果我取消注释,应用程序部队就会关闭。

TextView(tv1)位于当前页面上,但EditText(et1)位于另一页面上。这可能是我的问题的原因?我如何解决它?

如果EditText在不同的xml中,那么就不要使用它。 在您的xml中添加EditText或将其从源代码中删除。

+0

谢谢,但我必须使用它。从另一个页面获取它,并且我必须在另一个页面中显示它。 – mucisk 2011-05-08 15:31:57

+0

然后使用Intent将值从一个页面传递到另一个页面。请参阅http://*.com/questions/2091465/how-to-pass-data-between-activities-in-android – 2011-05-08 15:34:20

您不能访问从另一个activty TextView的,你应该使用意图提供

例如TextView的价值传递给第二个活动在How do I pass data between Activities in Android application?

+0

好吧,我可以发送数据,但它不告诉我如何获得其他活动中传递的数据。你能告诉我如何? – mucisk 2011-05-08 15:42:05

+0

在第二个活动中调用Bundle extras = getIntent()。getExtras();从这个Bundle中你可以提取数据 – matsjoe 2011-05-08 19:39:00

这是你的代码...... .............

public class Activity2 extends Activity { 
/** Called when the activity is first created. */ 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.accounted); 

    TextView tv1 = (TextView) findViewById(R.id.textView1); 
    EditText et1 = (EditText) findViewById(R.id.editText1); 
    String text1 = et1.getText().toString(); 

至于如何让你有edittext在另一个活动。 所以在你的TextView获取文本,你必须做一些修改 我显示它希望这将工作

首先添加的EditText在你当前活动中TextView的是

editText t1; 

此分配后这EDITTEXT另一个活动的EditText上

t1=secondactivity.edittext id; 

现在简单地得到该文本并在您的TextView

设置
String text1 = et1.getText().toString(); 
text1.setText(et1.getText().toString()); 

public class Activity2 extends Activity { 
     /** Called when the activity is first created. */ 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.accounted); 

      TextView tv1 = (TextView) findViewById(R.id.textView1); 
      EditText et1 = (EditText) findViewById(R.id.editText1); 
      String text1 = et1.getText().toString(); 

这是你的代码。你有EDITTEXT另一个动作就是为什么crashes.If你想从上次活动获得的EditText的文本上TextView的你将有以下行添加到设置应用代码,其中Intent用于更改活动。

Intent.putextra("string1",et1.getText().toString()); 
    StartActivity(Intent); 

这一定会为你工作。