2017-04-16 53 views
-1

我只是新的Android工作室,我有這個問題。我無法獲取我的EditText字符串,並將其作爲短信發送到短信。當我使用EditText時,應用程序崩潰,但是當我使用固定的單詞來處理消息時,它運行得非常好。如何使用EditText作爲短信在Android工作室短信

這裏是我的MainActivity:

public class MainActivity extends AppCompatActivity implements communicator{ 
.. 
.... 
.. 


EditText t1,t2,t3,t4; 
     String phoneNo="09857512187",sms; 
    .. 
... 
... 

    @Override 
    protected void onCreate(Bundle savedInstanceState){ 


    ... 
... 
... 
... 

     ttl=(TextView) findViewById(R.id.total); 
     done=(Button) findViewById(R.id.done); 
     t1=(EditText)findViewById(R.id.first_name); 
     t2=(EditText)findViewById(R.id.last_name); 
     t3=(EditText)findViewById(R.id.numberInput); 
     t4=(EditText)findViewById(R.id.address); 
sms=t1.getText().toString()+t2.getText().toString()+t3.getText().toString()+t4.getText().toString(); 
    } 


    public void done(View v){ 
      SmsManager smsManager = SmsManager.getDefault(); 
      smsManager.sendTextMessage(phoneNo, null, sms, null, null); 
      Toast.makeText(getApplicationContext(), "SMS Sent!", 
        Toast.LENGTH_LONG).show(); 
    } 

和繼承人的logcat:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.jackreynaldo.tab/com.example.jackreynaldo.tab.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference 
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2351) 
                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2413) 
                        at android.app.ActivityThread.access$800(ActivityThread.java:154) 
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316) 
                        at android.os.Handler.dispatchMessage(Handler.java:102) 
                        at android.os.Looper.loop(Looper.java:135) 
                        at android.app.ActivityThread.main(ActivityThread.java:5357) 
                        at java.lang.reflect.Method.invoke(Native Method) 
                        at java.lang.reflect.Method.invoke(Method.java:372) 
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:952) 
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 
                       Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference 
                        at com.example.jackreynaldo.tab.MainActivity.onCreate(MainActivity.java:109) 
                        at android.app.Activity.performCreate(Activity.java:6012) 
                        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2295) 
                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2413)  
                        at android.app.ActivityThread.access$800(ActivityThread.java:154)  
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)  
                        at android.os.Handler.dispatchMessage(Handler.java:102)  
                        at android.os.Looper.loop(Looper.java:135)  
                        at android.app.ActivityThread.main(ActivityThread.java:5357)  
                        at java.lang.reflect.Method.invoke(Native Method)  
                        at java.lang.reflect.Method.invoke(Method.java:372)  
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:952)  
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)  

注意:做的是我的onClick我的按鈕

+0

TL; DR不把整個代碼放在這裏,只是把你需要幫助的部分放在 –

+0

它看起來像代碼使用固定的SMS變量,所以很難看到什麼時候出現錯誤使用edittext。你確定你使用getText()。toString()從edittext獲取信息嗎? – avk

+0

我現在編輯過,先生,現在好多了嗎?現在更清楚了嗎? – topher

回答

0

按照logcat的,你的EditText之一未正確初始化。確保您引用了正確的資源ID。

+0

我已經檢查過,先生,但它是正常的。我試圖把公共無效完成後,它開始,但當我點擊按鈕它有另一個錯誤說'java.lang.IllegalStateException:無法執行android的方法:onClick' – topher