我无法从EditText获取文本并将其转换为字符串,然后在吐司中显示输入的文本。 Toast仅显示一个没有文本的小空白栏。这是我的代码。
package com.asssra.textinput;
import android.os.Bundle;
import android.app.Activity;
import android.text.Editable;
import android.view.Menu;
import android.view.View;
import android.widget.*;
public class MainActivity extends Activity {
EditText t;
Button b;
String s;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
t = (EditText) findViewById(R.id.box);
b = (Button) findViewById(R.id.button);
s = t.getText().toString();
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this,s,Toast.LENGTH_LONG).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
答案 0 :(得分:5)
移动此
s = t.getText().toString();
刚刚初始化后,您将从edittext获取文本。只需移动onClick
按钮的ClickListener内部
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
s = t.getText().toString();
Toast.makeText(MainActivity.this,s,Toast.LENGTH_LONG).show();
}
});
答案 1 :(得分:0)
为什么我们没有用铸造来完成这个?
EditText getNameField = (EditText) findViewById(R.id.your_edit_text);
String castToString = (String) getNameField.getText();
return castToString;