java - 将字符串传递给其他 Activity 不起作用

标签 java android string android-intent

所以我在 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/

相关文章:

Java调用Super构造函数的困惑

java - 验证消息的安全性时出错 - SAML token

android - 如何通过android中的特定应用程序分别查找wifi和网络数据使用情况?

android - 从 main.xml 布局切换到另一个布局

python - 使用Python在字符串中查找unicode字符

javascript - 匹配字符串

c# - 从源字符串中查找多个索引

java - 如何使用以 X 作为参数并返回 Observable<Y> 的函数从 Observable<List<X>> 转换为 Observable<List<Y>>

java - 为什么在 Java EE 中使用 CDI

Android:如何检测用户何时停止对着麦克风说话