2013-10-11 35 views
1

我有一个EditText用户输入一个名称,我希望这个名字被分配给一个字符串变量供以后使用。分配一个字符串变量与editText中的内容

EditText et=(EditText)findViewById(R.id.editText1); 
     final String value=et.getText().toString(); 
     Button b=(Button)findViewById(R.id.button1); 
     b.setOnClickListener(new OnClickListener(){ 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       TextView tv=(TextView)findViewById(R.id.textView2); 
       tv.setText(value); 
      } 

     }); 

这是我正在使用的代码。我在editText中输入了一些文本,当我点击按钮时,textView应该在edittext中显示内容。但是当我点击按钮时,textview就会变得不可见,即它具有null的值。

+1

'final String value = et.getText()。toString()'进入onclick。 –

+0

为我工作..我需要声誉来标记这个很抱歉 – user2648852

回答

2

变化的onClick内的字符串值初始化,目前已将其初始化上,一旦你得到EDITTEXT参考...所以它不会更新到您所输入的文字运行时

新代码

final EditText et=(EditText)findViewById(R.id.editText1); 
     Button b=(Button)findViewById(R.id.button1); 
     b.setOnClickListener(new OnClickListener(){ 

      @Override 
      public void onClick(View v) { 
       String value=et.getText().toString(); 
       TextView tv=(TextView)findViewById(R.id.textView2); 
       tv.setText(value); 
      } 

     }); 
+0

这是工作。但如果我希望edittext中的文本显示在不同的活动中,这是如何工作的?我的应用程序就像我输入姓名和年龄并提交。提交时,它会将页面重定向到另一个页面,我需要显示edittext的内容 – user2648852

+0

将其保存在sharedPreferences中,以便它在应用程序会话期间持续存在或直接传递给其他活动,如意图附加。 – Shubhank

0

尝试是这样的

final EditText et=(EditText)findViewById(R.id.editText1); 
final EditText tv=(EditText)findViewById(R.id.editText2); 
Button b=(Button)findViewById(R.id.button1); 
b.setOnClickListener(new OnClickListener(){ 

    @Override 
    public void onClick(View v) { 
     tv.setText(et.getText().toString()); 
    } 

}); 
+0

这个工程太。 – user2648852

+0

这是工作。但如果我希望edittext中的文本显示在不同的活动中,这是如何工作的?我的应用程序就像我输入姓名和年龄并提交。当提交它将重定向页面到另一个页面,我需要显示edittext的内容 – user2648852

+0

您可以传递edittext的值作为新活动的参数 – guikk

0

尝试这样

String value; 

OnCreate(){ 

EditText et=(EditText)findViewById(R.id.editText1); 
TextView tv=(TextView)findViewById(R.id.textView2); 
Button b=(Button)findViewById(R.id.button1); 

     b.setOnClickListener(new OnClickListener(){ 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 

       value=et.getText().toString(); 
       tv.setText(value); 
      } 

     }); 


} 
相关问题