如何通过 UserInput 使这个变量起作用? android
How can I make this Variable by UserInput work? android
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButton = (Button)findViewById(R.id.okay);
mEdit = (EditText)findViewById(R.id.name);
final TextView questionOne =(TextView)findViewById(R.id.questionOne);
final String name = mEdit.getText().toString(); //
mButton.setOnClickListener(
new View.OnClickListener()
{
public void onClick(View view)
{
Log.v("EditText", mEdit.getText().toString());
}
});
mButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
questionOne.setText("Tell me your lucky number, " + name + "!");
} });
}
}
所以,我的目标是让用户写下他的名字,然后用setText方法打印出来。为此,我声明了变量 "name"。但是当我 运行 应用程序并输入我的名字时,它只会打印出 "Tell me your lucky number, !"。所以变量名完全丢失了。有人可以告诉我我对变量做错了什么吗?
提前致谢!
首先,您重写了按钮的单击侦听器。您在某一时刻记录了 EditText 内容。
无论如何,这会在加载视图时立即获取文本。 (除非您将默认文本放入该字段,否则它是一个空字符串)
final String name = mEdit.getText().toString();
而它是 final
,因此变量永远不会改变值。
您需要"react"按钮事件。所以,这样做吧。
mButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String name = mEdit.getText().toString();
questionOne.setText("Tell me your lucky number, " + name + "!");
}
});
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButton = (Button)findViewById(R.id.okay);
mEdit = (EditText)findViewById(R.id.name);
final TextView questionOne =(TextView)findViewById(R.id.questionOne);
final String name = mEdit.getText().toString(); //
mButton.setOnClickListener(
new View.OnClickListener()
{
public void onClick(View view)
{
Log.v("EditText", mEdit.getText().toString());
}
});
mButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
questionOne.setText("Tell me your lucky number, " + name + "!");
} });
}
}
所以,我的目标是让用户写下他的名字,然后用setText方法打印出来。为此,我声明了变量 "name"。但是当我 运行 应用程序并输入我的名字时,它只会打印出 "Tell me your lucky number, !"。所以变量名完全丢失了。有人可以告诉我我对变量做错了什么吗? 提前致谢!
首先,您重写了按钮的单击侦听器。您在某一时刻记录了 EditText 内容。
无论如何,这会在加载视图时立即获取文本。 (除非您将默认文本放入该字段,否则它是一个空字符串)
final String name = mEdit.getText().toString();
而它是 final
,因此变量永远不会改变值。
您需要"react"按钮事件。所以,这样做吧。
mButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String name = mEdit.getText().toString();
questionOne.setText("Tell me your lucky number, " + name + "!");
}
});