我想在第一个窗口中显示用户插入到下一个窗口的值 我接受用户重量&在第一个窗口中的高度,我想在第二个屏幕上显示它作为你的重量&高度。
我搜索了很多,甚至尝试了一个代码但是在模拟器中得到强制关闭错误。
第一项活动:
public class BMI_Main extends Activity
{
EditText BMI_weight;
public String weight;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.bmi_main);
Button submit =(Button)findViewById(R.id.BMI_submit);
BMI_weight = (EditText)findViewById(R.id.BMI_EdTx_kg);
submit.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
weight = BMI_weight.getText().toString();
// create a bundle
Bundle bundle = new Bundle();
// add data to bundle
bundle.putString("wt", weight);
// add bundle to the intent
Intent intent = new Intent(v.getContext(), BMI_Result.class);
intent.putExtras(bundle);
startActivityForResult(intent, 0);
}
}
);
第二项活动:
public class BMI_Result extends Activity
{
TextView Weight = (TextView)findViewById(R.id.BMI_TxtVw_wt);
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.bmi_result);
//get the bundle
Bundle bundle = getIntent().getExtras();
// extract the data
String weight = bundle.getString("wt");
Weight.setText(weight);
}
所以请帮助我..
答案 0 :(得分:2)
据我所见,您在BMI_Result
中有以下成员定义:
TextView Weight = (TextView)findViewById(R.id.BMI_TxtVw_wt);
但是你只能在初始化类之后调用findViewById
,因为它是View
类的成员函数,所以将此行更改为:
TextView Weight;
并在onCreate
:
setContentView(...)
方法
Weight = (TextView)findViewById(R.id.BMI_TxtVw_wt);
编辑:它说“......在super.onCreate(...)
之后”,现在它是正确的;)
答案 1 :(得分:1)
你应该覆盖onCreate()
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
onCreate末尾的令牌是错误的。
答案 2 :(得分:1)
您应该在第一个窗口/ Activity中使用Context.startActivity(Intent intent)方法。
将要传递的数据存储到Intent对象中的第二个窗口/ Activity,例如:
Intent intent = new Intent();
intent.putExtra("weight", weight);
intent.putExtra("height", height);
this.startActivity(intent);
并在onCreate方法的第二个屏幕/ Activity中检索它们,如:
Intent intent = getIntent(); // This is the intent you previously created.
int weight = intent.getExtra("weight");
int height = intent.getExtra("height");