0

EditTexからnullpointerexception行うと、このエラーが発生します。getText().toString()

public class SendMessActivity extends SherlockFragmentActivity  {    
   private  EditText tEmail;
   private  Button sendButton;
 @Override
 protected void onCreate(final Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.send_mess_layout);
   tEmail = (EditText)findViewById(R.id.editEmailTo);
   sendButton = (Button)findViewById(R.id.btn_sendmess);
   endButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
           //String textEmail = tEmail.getText().toString(); //nullpointerexception
           Editable textEmail1Editable = tEmail.getText(); //nullpointerexception
           String textEmail = textEmail1Editable.toString()
           Log.d(DEBUGTAG, "SENDING START::::::::  " + textEmail);
         }
    });

}}

やり方を教えてください

アップデート Q

デビッド、ありがとう、あなたの推測のために、問題は本当に私のもつれたレイアウトにありました。簡略化されたスキームを終了し、2 つのレベルしか持たなくなった後、すべてが機能し始めました

4

2 に答える 2

0

setContentView(your_layout.xml)使用するレイアウトを知るために呼び出す必要があります。findViewById(...)レイアウトを設定しないと、レイアウト内のビューを見つけようとするすべての呼び出しでnull が返されます。

public class SendMessActivity extends SherlockFragmentActivity  {     
   private  EditText tEmail;
   private  Button sendButton;
 @Override 
 protected void onCreate(final Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);


   setContentView(your_layout.xml); //set your activity layout here.


   tEmail = (EditText)findViewById(R.id.editEmailTo);
   sendButton = (Button)findViewById(R.id.btn_sendmess);
   endButton.setOnClickListener(new View.OnClickListener() {
        @Override 
        public void onClick(View view) {
           String textEmail = tEmail.getText().toString(); //nullpointerexception
           Log.d(DEBUGTAG, "SENDING START::::::::  " + textEmail);
         } 
    }); 

}} 
于 2013-10-03T20:36:28.860 に答える
0

テキストが割り当てられていない場合、テキストの EditText 取得は null エントリであり、その null エントリの文字列を作成しようとしていると想定します。

于 2013-10-03T21:34:55.870 に答える