Я не получаю строку, которую я передал с намерением на втором занятии - PullRequest
0 голосов
/ 28 сентября 2018

Это мое Занимайте все свое время, когда мне нужно поторопиться проблема ..

Я просто собираюсь перенести информацию из моей основной деятельности в другую деятельность.Но данные не переходят к другой деятельности.

Пожалуйста, взгляните на секунду, пожалуйста.

MainActivity.class

public class MainActivity extends AppCompatActivity {

public static final String KEY = "KEY";
Button button;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    button = findViewById(R.id.button);

    button.setOnClickListener(v -> {

        Intent intent = new Intent(MainActivity.this, OtherActivity.class);

        intent.putExtra(KEY, "FONCTIONNE");

        startActivity(intent);

        });
    }
}

OtherActivity.class

import static com.example.marguerite.experiences.MainActivity.KEY;

public class OtherActivity extends AppCompatActivity {

Button button;
TextView textView;
String text;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_other);

        button = findViewById(R.id.button);
        textView = findViewById(R.id.textview);

        text = getIntent().getStringExtra(KEY);

        textView.setText(text);

        button.setOnClickListener(v ->finish());
    }
}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.marguerite.experiences">

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    android:fullBackupContent="@xml/backup_descriptor">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".OtherActivity" />
</application>

</manifest>

ОШИБКА СОБЫТИЯ

E/AndroidRuntime: FATAL EXCEPTION: main
              Process: com.example.marguerite.experiences, PID: 8496
              java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.marguerite.experiences/com.example.marguerite.experiences.OtherActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
               Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
                  at com.example.marguerite.experiences.OtherActivity.onCreate(OtherActivity.java:26)
                  at android.app.Activity.performCreate(Activity.java:7136)

Вот оно.Я, конечно, кое-что забыл, но во всех уроках, которые я изучал, используется одна и та же простая техника.

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Все приведенные выше ответы должны работать, но если все еще не работает, попробуйте изменить

 button = findViewById(R.id.button);
    textView = findViewById(R.id.textview);  

на

 button = (Button)findViewById(R.id.button);
    textView = (TextView)findViewById(R.id.textview);  

в обоих действиях

и когда вы получите намерениев OtherActivity называйте это как

text = getIntent.getStringExtra("KEY");
0 голосов
/ 28 сентября 2018

Следующая строка ...

textView.setText(text);

... вызывает следующую ошибку:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference

, что означает, что textView равно нулю.Нет представления с идентификатором textview в activity_other.xml.Убедитесь, что представление существует, и исключите любые опечатки.

См. Также: Что такое исключение NullPointerException и как его исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...