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();
         ...
      }
   });
}