一个xml到多个java文件?

时间:2014-11-04 17:39:54

标签: android

我有两个名为Home和Options的活动。 Home包含6个按钮:医生 - 约会......等 选项包含3个按钮:添加 - 编辑/删除 - 列表。

选项是一种常见的布局,这意味着我希望在按下医生和约会时打开它。 但问题是我想分别在按钮上写#34;添加医生 - 编辑/删除医生 - 列出医生"在options.xml中如果Home中的按下按钮是Doctors和"添加约会 - 编辑/删除约会 - 列出约会"如果Home中的按下按钮被预约,则在options.xml中。

重点是减少活动的数量,这样我就可以根据以前的活动在按钮中编写文本,而不是用相同的格式创建6个活动? 这可能吗?

1 个答案:

答案 0 :(得分:0)

您可以发送意图开始新活动的信息。

public void onDoctorClick(View v) {
     Intent intent = new Intent(this, nextActivity.class);
     intent.putExtra("button_text_1", "Add doctor");
     intent.putExtra("button_text_2", "Edit/Delete doctor");
     intent.putExtra("button_text_3", "List doctor");
     startActivity(intent);
}

public void onAppointmentClick(View v) {
     Intent intent = new Intent(this, nextActivity.class);
     intent.putExtra("button_text_1", "Add appointment");
     intent.putExtra("button_text_2", "Edit/Delete appointment");
     intent.putExtra("button_text_3", "List appointment");
     startActivity(intent);
}

然后,您可以在新活动中获取此信息并设置按钮的文本:

Bundle extras = getIntent().getExtras(); 
button1.setText(extras.getString("button_text_1"));
button2.setText(extras.getString("button_text_2"));
button3.setText(extras.getString("button_text_3"));

修改

您也可以只发送一个字符串来指示启动活动的按钮

intent.putExtra("type", "doctor")

然后在第二项活动中检查ik:

switch(getIntent().getExtras().getString("type")) {
case "doctor":
     button1.setText(R.string.doctor);
     break;
case "appointment":
     button1.setText(R.string.appointment);
     break;
}