Android 无法从edittext获取值
我有以下代码Android 无法从edittext获取值,android,Android,我有以下代码 final Button Submit= (Button) findViewById(R.id.SubmitButton); Submit.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { chatbox=(EditText)findViewById(R.id.Chatbox); <-
final Button Submit= (Button) findViewById(R.id.SubmitButton);
Submit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
chatbox=(EditText)findViewById(R.id.Chatbox); <-- error
String data=chatbox.getText().toString();
Log.i("chama",data);
HashMap<String,String> hashMap=new HashMap<String,String>();
hashMap.put("You",chatbox.getText().toString()); //insert username(You) value in chatbox to hashmap
adminChat.add(hashMap); //insert hashMap in arraylist
ShowListView(adminChat); //pass it to listview
sendHttpRequest("set", "admin", "You" ,chatbox.getText().toString(),clientEmail,UserAdminChatActivity.LastShowingChatDate);
}});
试试这个:
String data="";
chatbox=(EditText)findViewById(R.id.Chatbox);
if(chatbox.getText().toString()!=null)
data=chatbox.getText().toString();
另外,请确保您所引用的编辑文本与您通过setContentView()
用于映射活动的xml文件相同。请尝试以下操作:
String data="";
chatbox=(EditText)findViewById(R.id.Chatbox);
if(chatbox.getText().toString()!=null)
data=chatbox.getText().toString();
另外,请确保您引用的编辑文本与您用来通过setContentView()映射到活动的xml文件相同。您应该这样做
chatbox= (EditText) findViewById(R.id.Chatbox);
在onClick
方法之外。这对我来说毫无意义。设置contentView
后,应立即初始化您的小部件
所以
你应该这样做
chatbox= (EditText) findViewById(R.id.Chatbox);
在onClick
方法之外。这对我来说毫无意义。设置contentView
后,应立即初始化您的小部件
所以
我已经粘贴了整个onclick()事件。您在调用setContentView
?@Mj1992:在移动chatbox=(EditText)findViewById(R.id.chatbox)后尝试调用这段代码代码>最终按钮前的行<代码>提交=(按钮)findViewById(R.id.SubmitButton)代码>行并在使用iti之前检查EditView是否为null我已经粘贴了整个onclick()事件。您是在调用setContentView
?@Mj1992:在移动chatbox=(EditText)findViewById(R.id.chatbox)后调用这段代码的代码>最终按钮前的行<代码>提交=(按钮)findViewById(R.id.SubmitButton)代码>行,并在使用其他编辑之前检查EditView是否为空。看看这是否有帮助。虽然如果用户输入空值,它将终止您的逻辑,但请查看它是否能使您摆脱错误。稍后在另一次编辑时指定一些检查(对于非空值)。看看这是否有帮助。虽然如果用户输入空值,它将终止您的逻辑,但请查看它是否能使您摆脱错误。稍后指定一些检查(对于非空值)
...
protected EditText chatbox;
@Override
public void onCreate(Bundle savedOnInstanceState) {
super.onCreate(savedOnInstanceState);
setContentView(R.layout.main);
chatbox = (EditText) findViewById(R.id.Chatbox);
...
chatbox.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String data=chatbox.getText().toString();
...
}
});
}