我正在从事活动交流。
这是我的main2activity类:
public class Main2Activity extends AppCompatActivity {
TextView textView ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
textView =(TextView) findViewById(R.id.textView2);
Intent intent = getIntent();
String received = intent.getStringExtra("input");
textView.setText(received);
}
protected void changeActivity(View view){
Intent intent = new Intent(getApplicationContext(),MainActivity.class);
startActivity(intent);
}}
我在mainActivity使用editText
。在editText
上写一些比
protected void changeActivity(View view){
userInput = findViewById(R.id.editText);
Intent intent = new Intent(getApplicationContext(),Main2Activity.class);
intent.putExtra("input",userInput.getText().toString());
startActivity(intent);
}
Mainactivity buttoncommand像这样按下按钮并发送我在editText上写的内容。但是我不明白。如果我将位置textView =(TextView) findViewById(R.id.textView2);
更改为该方法之外的代码。我在课堂上使用它。像这样
public class Main2Activity extends AppCompatActivity {
TextView textView =(TextView) findViewById(R.id.textView2);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Intent intent = getIntent();
String received = intent.getStringExtra("input");
textView.setText(received);
}
protected void changeActivity(View view){
Intent intent = new Intent(getApplicationContext(),MainActivity.class);
startActivity(intent);
}}
应用程序无法在模拟器上运行,我在editText
上写了点东西,然后单击按钮,应用程序出错了。我不明白现实(对于真正的智能手机不是模拟器)是真的吗?现实不起作用。为什么我的错误是什么?
答案 0 :(得分:3)
您可以在findViewById()
之后致电setContentView()
因为android在xml
中加载了setContentView()
然后您可以使用findViewById()