在需要急忙的时候,我会花所有时间。
我只是想将信息从我的主要旅行到其他活动。 但是数据不会进入其他活动。
请稍等一下。
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);
});
}
}
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());
}
}
<?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)
有。我当然忘了一些东西,但是我看过的所有教程都使用相同的简单技术。
答案 0 :(得分:1)
以下一行...
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
中没有ID为activity_other.xml
的视图。确保该视图存在并排除任何错字。
答案 1 :(得分:0)
以上所有答案都应该有效,但是如果仍然无法解决,请尝试更改
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");