我正在学习如何创建UI元素。我已经创建了一些EditText输入字段。在单击按钮时,我想捕获输入字段中的内容。
<EditText android:id="@+id/name" android:width="220px" />
那是我的领域。如何获取内容?
我正在学习如何创建UI元素。我已经创建了一些EditText输入字段。在单击按钮时,我想捕获输入字段中的内容。
<EditText android:id="@+id/name" android:width="220px" />
那是我的领域。如何获取内容?
当前回答
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button rtn = (Button)findViewById(R.id.button);
EditText edit_text = (EditText)findViewById(R.id.edittext1);
rtn .setOnClickListener(
new View.OnClickListener()
{
public void onClick(View view)
{
Log.v("EditText value=", edit_text.getText().toString());
}
});
}
其他回答
使用getText():
Button mButton;
EditText mEdit;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mButton = (Button)findViewById(R.id.button);
mEdit = (EditText)findViewById(R.id.edittext);
mButton.setOnClickListener(
new View.OnClickListener()
{
public void onClick(View view)
{
Log.v("EditText", mEdit.getText().toString());
}
});
}
字符串值= YourEditText.getText().toString;
如果你正在使用Kotlin,并且想让它通用,你可以使用扩展函数
扩展功能:
fun EditText.getTextString(): String {
this.text.toString()
}
并直接从EditText中调用此方法
yourEditText.getTextString()
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button rtn = (Button)findViewById(R.id.button);
EditText edit_text = (EditText)findViewById(R.id.edittext1);
rtn .setOnClickListener(
new View.OnClickListener()
{
public void onClick(View view)
{
Log.v("EditText value=", edit_text.getText().toString());
}
});
}
最短和最简单
getText(editText);
获取文本(按钮);
getText(textView);
一些解决方法
只要在你的BaseActivity中创建方法,如果你没有的话。
public class BaseActivity extends AppCompatActivity{
public String getText(TextView tv) {
return tv.getText().toString().trim();
}
}
并通过这个BaseActivity扩展你的所有活动。
public class YourActivity extends BaseActivity {
@Override
public void onCreate(Bundle savedInstanceState){
getText(editText);
getText(button);
getText(textView);
}
}
注意,EditText,按钮扩展TextView,所以我只创建getText(TextView电视)。