![](/img/trans.png)
[英]Custom Dialog error 'android.text.Editable android.widget.EditText.getText()' on a null object reference
[英]Can't seem to find why “ 'android.text.Editable android.widget.EditText.getText()' on a null object reference ” is null, what am I missing here
因此問題出在活動2,但是我將同時發布活動1和活動2。 我通讀了其他一些問題,所有這些問題似乎都缺少某種editText,我看了又看,似乎找不到我想在我一生中初始化的地方。 有人可以幫我找出這是什么地方,這絕對使我喪命。 我在標題中單擊“提交”按鈕時收到錯誤消息,它說它發生在活動2的第23行,該行的內容為“ intent.putExtra(“ editText”,editText.getText()。toString()); “
我覺得這很容易解決,但是卻讓我很頭疼。
感謝所有幫助! 謝謝。
活動1
package com.example.ndagenai.first_activity;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class FirstActivity extends AppCompatActivity {
private int mRequestCode = 100;
TextView textView;
private Jokes[] mList = new Jokes[]{
new Jokes (R.string.joke_text0),
new Jokes (R.string.joke_text1),
new Jokes (R.string.joke_text2),
new Jokes (R.string.joke_text3),
new Jokes (R.string.joke_text4),
};
@Override
//creates activity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
Button nextB = findViewById(R.id.nextButton);
nextB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(intent, mRequestCode);
}
});
Button b0 = findViewById(R.id.button0);
b0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView textView = findViewById(R.id.category);
textView.setText(R.string.joke_text0);
}
});
Button b1 = findViewById(R.id.button1);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView textView = findViewById(R.id.category);
textView.setText(R.string.joke_text1);
}
});
Button b2 = findViewById(R.id.button2);
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView textView = findViewById(R.id.category);
textView.setText(R.string.joke_text2);
}
});
Button b3 = findViewById(R.id.button3);
b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView textView = findViewById(R.id.category);
textView.setText(R.string.joke_text3);
}
});
Button b4 = findViewById(R.id.button4);
b4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView textView = findViewById(R.id.category);
textView.setText(R.string.joke_text4);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == mRequestCode && resultCode == RESULT_OK){
String editTextString = data.getStringExtra("editText");
}
}
}
活動2
package com.example.ndagenai.first_activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class SecondActivity extends Activity {
EditText editText;
@Override //makes activity for second one
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Button b = findViewById(R.id.SubmitButton);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.putExtra("editText", editText.getText().toString());
setResult(RESULT_OK, intent);
finish();
}
});
}
}
在活動2中,您有
EditText editText;
但是你沒有
editText = (EditText) findViewById(R.id.editTextId);
所以您要分配一個永遠不會指向任何東西的變量
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.