このUserクラスオブジェクトを渡す方法を理解できません。私は最初のアクティビティに格納されたeditTextから入力を受け取り、それを別のアクティビティのtextViewに送信しようとしています。私は前にこれをやったことがありますが、何らかの理由で私は間違っています。このエラーが続いています "java.lang.RuntimeException:アクティビティを開始できませんComponentInfo {example.com.avatar/example.com.avatar.DisplayActivity} :java.lang.NullPointerException:仮想メソッド 'void android.widget.TextView.setText(java.lang.CharSequence)'をヌルオブジェクト参照で呼び出そうとしています。 "誰でもここで私を助けることができますか?Android - findViewByIdはSerializableから値を設定しようとしているときにnullを返します
//1st Activity
findViewById(R.id.buttonSubmit).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, DisplayActivity.class);
User user = new User();
textViewNameLocal = findViewById(R.id.textViewName);
intent.putExtra("USER", user);
startActivity(intent);
}
});
}
//2nd Activity
public class DisplayActivity extends AppCompatActivity {
TextView textViewName, textViewEmail;
@Override
protected void onCreate(Bundle savedInstanceState) {
textViewName = findViewById(R.id.textViewName); //this was the error, it needs to be below the "setContentView(R.layout.activity_display)".
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display);
Intent intent = getIntent();
User user = (User) intent.getSerializableExtra("USER");
textViewName.setText(user.getName().toString);
}
}
感謝した後
findViewById
を使用して、それへの参照を割り当てることを検討してください! – brff19うれしい私は助けることができます。 :) –