Android Edittext getText-toString

Android Edittext getText-toString,android,Android,下面是我的编辑文本,我想把它输入一个字符串 祝酒词将成功显示getText toString 然而,我没有在LogCat中看到tel的值 edittext = (EditText) findViewById(R.id.editTel); edittext.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditor

下面是我的编辑文本,我想把它输入一个字符串 祝酒词将成功显示getText toString 然而,我没有在LogCat中看到tel的值

     edittext = (EditText) findViewById(R.id.editTel);
     edittext.setOnEditorActionListener(new OnEditorActionListener() {  
         @Override  
         public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {  
            Toast.makeText(Reserve.this, edittext.getText().toString(), Toast.LENGTH_SHORT).show();  
            tel = edittext.getText().toString();
             return true;  
         }  
     });

     Log.d("TEL", "The tel is: "+tel);
放置
Log.d(“电话”,“电话是:”+TEL)内部
onEditorAction
方法如下:

@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
Toast.makeText(Reserve.this, edittext.getText().toString(),
                                 Toast.LENGTH_SHORT).show();
tel = edittext.getText().toString(); 
Log.d("TEL", "The tel is: "+tel);
return true;
}
});
因为在
OnEditorActionListener
之外可能没有达到可能的控制,所以将
Log.d(“TEL”,“TEL是:“+TEL”)内部
onEditorAction
方法如下:

@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
Toast.makeText(Reserve.this, edittext.getText().toString(),
                                 Toast.LENGTH_SHORT).show();
tel = edittext.getText().toString(); 
Log.d("TEL", "The tel is: "+tel);
return true;
}
});

因为可能无法在
OnEditorActionListener

之外访问可能的控件,所以您只是调用了一个方法,该方法在EditText对象内部存储了对对象(OnEditorActionListener类)的引用。该流立即继续执行Log.d()方法,打印并清空-tel。OnEditorActionListener.onEditorAction()方法将在任何其他时间被调用,由用户操作触发,并执行其中的代码。也许流程可以写得更清楚,如下所示:


OnEditorActionListener listener = new OnEditorActionListener() {  
         @Override  
         public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {  
            Toast.makeText(Reserve.this, edittext.getText().toString(), Toast.LENGTH_SHORT).show();  
            tel = edittext.getText().toString();
             return true;  
         }  
     });

edittext = (EditText) findViewById(R.id.editTel);
edittext.setOnEditorActionListener(listener);
Log.d("TEL", "The tel is: "+tel);


通过这种方式,onEditorAction()方法完全独立于该代码段的正常执行流。

您只是调用了一个方法,该方法在EditText对象中存储了对对象(OnEditorActionListener类)的引用。该流立即继续执行Log.d()方法,打印并清空-tel。OnEditorActionListener.onEditorAction()方法将在任何其他时间被调用,由用户操作触发,并执行其中的代码。也许流程可以写得更清楚,如下所示:


OnEditorActionListener listener = new OnEditorActionListener() {  
         @Override  
         public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {  
            Toast.makeText(Reserve.this, edittext.getText().toString(), Toast.LENGTH_SHORT).show();  
            tel = edittext.getText().toString();
             return true;  
         }  
     });

edittext = (EditText) findViewById(R.id.editTel);
edittext.setOnEditorActionListener(listener);
Log.d("TEL", "The tel is: "+tel);


通过这种方式,onEditorAction()方法完全独立于该段代码的正常执行流。

只有在您键入某个内容,然后按editorAction键时,它才会记录输出,软键盘上的“完成”或“下一个”键。您在何处声明
tel
,是否在其他任何地方使用
tel=…
?谢谢,我只是将其声明为全局变量,那么您应该能够在该方法之外引用
tel
。您试图在何处显示LogCat语句?仅当您键入内容,然后按editorAction键时,它才会记录输出,软键盘上的“完成”或“下一个”键。您在何处声明
tel
,是否在其他任何地方使用
tel=…
?谢谢,我只是将其声明为全局变量,那么您应该能够在该方法之外引用
tel
。您试图在哪里显示LogCat语句?很简单,因为打印日志时,tel的值是空字符串。只有当你做任何事情时,它才会被填满action@Sam:对不起,我的英语不好,但我想你明白我想说什么吗?我们同意
Log.d(“电话”,“电话是:”+TEL)
必须在
tel=edittext.getText().toString()之后调用。我认为我们同意
Log.d(“TEL”,“TEL是:”+TEL)
可以在
onEditorAction()
之外调用,但必须在
onEditorAction()之后调用。你的英语很好,但有时很难理解。这是一个很好的练习@山姆:好的,我同意你的看法,但是如果
Log.d(“电话”),电话是:“+TEL”位于
edittext.setOnEditorActionListener(新的OnEditorActionListener(){}
阻止当
OnEditorActionListener
事件触发时此语句如何执行?没错,如果
tel
在编辑器外部,则在编辑器操作发生时不会调用它。但它可以在其他地方使用,因为
tel
是一个字段变量。很简单,因为打印日志时,tel的值是empty字符串。只有在执行任何操作时,它才会被填充action@Sam:对不起,我的英语不好,但我想你明白我想说什么了吗?我们同意
Log.d(“TEL”,“电话是:”+TEL);
必须在
TEL=edittext.getText().toString();
之后调用。我想我们同意
Log.d(“TEL”,“电话是:”+TEL)
可以在
onEditorAction()之外调用,但必须在
onEditorAction()之后调用。
你的英语很好,但有时很难理解。这是一个很好的练习。:@Sam:好的,我同意你的意见,但是如果
Log.d(“TEL”,“TEL是:”+TEL)位于
edittext.setOnEditorActionListener(新的OnEditorActionListener(){}
阻止当
OnEditorActionListener
事件触发时此语句如何执行?没错,如果
tel
在编辑器外部,则在编辑器操作发生时不会调用它。但它可以在其他地方使用,因为
tel
是一个字段变量。