在android studio项目中,我需要在edittext中获取用户输入。这是我的代码 Xml文件
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/amount"
android:layout_below="@+id/title"
android:layout_centerHorizontal="true"
android:layout_marginTop="46dp" />
.java文件中的
button.setOnClickListener(new View.OnClickListener() {
EditText amount = (EditText) findViewById(R.id.amount);
String amount_text =amount.getText().toString();
@Override
public void onClick(View v) {
Toast.makeText(betNow.this,amount_text ,Toast.LENGTH_LONG).show();
}
});
每次返回空Toast
答案 0 :(得分:2)
您需要从 amount_text
内的EditText
中检索onClick(View v)
,如下面的代码
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText amount = (EditText) findViewById(R.id.amount);
String amount_text = amount.getText().toString();
Toast.makeText(betNow.this, amount_text, Toast.LENGTH_LONG).show();
}
});
答案 1 :(得分:2)
我明白了......它之前没有用,因为我试图在用户点击按钮之前获得价值,现在我改变了这样的代码
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final EditText amount = (EditText) findViewById(R.id.amount);
final String amount_text =amount.getText().toString();
Toast.makeText(betNow.this,amount_text ,Toast.LENGTH_LONG).show();
}
});
工作正常
答案 2 :(得分:1)
不要在onClick()
中初始化editTextEditText amount = (EditText) findViewById(R.id.amount);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String amount_text =amount.getText().toString();
Toast.makeText(betNow.this,amount_text ,Toast.LENGTH_LONG).show();
}
});
答案 3 :(得分:1)
在onClickListener
之外找到EditText EditText amount = (EditText) findViewById(R.id.amount);
button.setOnClickListener(new View.OnClickListener() {
String amount_text =amount.getText().toString();
@Override
public void onClick(View v) {
Toast.makeText(betNow.this,amount_text ,Toast.LENGTH_LONG).show();
}
});
答案 4 :(得分:0)
将getText放在onClick之外时会出现问题。
你应该放String amount_text = amount.getText().toString();
在onClick
中再试一次。