我在EditText
中有一个android
,我希望用户输入我将存储数据库的文本。但是,在这里我无法从EditText
获得价值。
这是我的代码,
EditText etUserInfoNewValue = (EditText)findViewById(R.id.etUserInfoNewVal);
String newValue = etUserInfoNewValue.getText().toString().trim();
如何从此EditText
获取值?
答案 0 :(得分:8)
放
String newValue = etUserInfoNewValue.getText().toString().trim();
在按钮的onClicklistener()
内。
您在声明它之后将此代码放在onCreate()中,它根本就没有任何值。所以你会得到零值。
答案 1 :(得分:4)
对我来说工作正常,检查你的情况..
Button buttonTest;
EditText editText;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
buttonTest = (Button)findViewById(R.id.button);
editText = (EditText)findViewById(R.id.edittext); //check this point carefully on your program
buttonTest.setOnClickListener(
new View.OnClickListener()
{
public void onClick(View view)
{
Log.v("EditText..", editText.getText().toString().trim());
}
});
}
答案 2 :(得分:2)
可能需要TextView.OnEditorActionListener。 BluetoothChat http://developer.android.com/tools/samples/index.html
//BluetoothChat.java:
// Initialize the compose field with a listener for the return key
EditText mOutEditText = (EditText) findViewById(R.id.edit_text_out);
mOutEditText.setOnEditorActionListener(mWriteListener);
// The action listener for the EditText widget, to listen for the return key
private TextView.OnEditorActionListener mWriteListener =
new TextView.OnEditorActionListener() {
public boolean onEditorAction(TextView view, int actionId, KeyEvent event) {
// If the action is a key-up event on the return key, send the message
if (actionId == EditorInfo.IME_NULL && event.getAction() == KeyEvent.ACTION_UP) {
String message = view.getText().toString();
sendMessage(message);
}
if(D) Log.i(TAG, "END onEditorAction");
return true;
}
};
答案 3 :(得分:0)
何时将EditText字符串存储到数据库。通过查看代码,您可以立即将Text存储在字符串newValue中,然后将其存储在数据库中。将String声明的代码更改为按钮或其他任何内容的onClick()。
答案 4 :(得分:0)
从editText获取价值,
String getValueEditText = "null";
if (etUserInfoNewValue.getText().toString().trim().length() > 0) {
getValueEditText = etUserInfoNewValue.getText().toString().trim();
}