所以我在 MainActivity2 中有一个 textEdit 字段。我将把它的字符串传递给MainActivity8。如果单击按钮,您将转到 MainActivity8。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2activity);
((Button) findViewById(R.id.weiter)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity2.this, MainActivity8.class);
EditText et1 = (EditText) findViewById(R.id.editText2);
String Link1 = et1.getText().toString();
EditText et = (EditText) findViewById(editText1);
String Kat1 = et.getText().toString();
if (Link1.matches("") || Kat1.matches("")){
et.setHintTextColor(RED);
et1.setHintTextColor(RED);
}
else {
startActivity(i);
}
Intent intent = new Intent(MainActivity2.this, MainActivity8.class);
intent.putExtra("Kate1", Kat1);
}
});
MainActivity8 看起来像这样:
public class MainActivity8 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main8);
Intent intent = getIntent();
String Kategorie1 = intent.getExtras().getString("Kategorie1");
TextView tv = (TextView) findViewById(R.id. textView2);
tv.setText(Kategorie1);
}
}
因此,每次我单击按钮时,我的应用程序都会崩溃。我不知道出了什么问题。我从 Android 监视器得到这个:
12-30 11:45:29.046 29591-29591/com.example.luca.myapplication E/AndroidRuntime:致命异常:main 进程:com.example.luca.myapplication,PID:29591 java.lang.RuntimeException:无法启动 Activity ComponentInfo{com.example.luca.myapplication/com.example.luca.myapplication.MainActivity8}:java.lang.NullPointerException:尝试调用虚拟方法 'java.lang.String android. os.Bundle.getString(java.lang.String)' 在空对象引用上
你能告诉我出了什么问题吗?
最佳答案
首先,您使用“Kate1”关键字发送数据
intent.putExtra("Kate1", Kat1);
并使用不同的键“Kategorie1”获取数据
改变
intent.getExtras().getString("Kategorie1");
至
intent.getExtras().getString("Kate1");
关于java - 将字符串传递给其他 Activity 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41394961/