我只是新的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我的按鈕
TL; DR不把整個代碼放在這裏,只是把你需要幫助的部分放在 –
它看起來像代碼使用固定的SMS變量,所以很難看到什麼時候出現錯誤使用edittext。你確定你使用getText()。toString()從edittext獲取信息嗎? – avk
我現在編輯過,先生,現在好多了嗎?現在更清楚了嗎? – topher