现在的场景是,我将开始2个活动以获取一些String值,然后在第3个活动中,我将捕获String值,然后将比较捕获的String并更改图像源
例子:
我再次编辑了代码。
第一次活动
enter code here
public class TestSchedule extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_schedule);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.test_schedule, menu);
return true;
}
public void SSD(View view){
String programme = "SSD";
Intent intent = new Intent(TestSchedule.this,TextDay.class);
intent.putExtra("prog", programme);
startActivity(intent);
}
public void EIS(View view){
String programme = "EIS";
Intent intent = new Intent(TestSchedule.this,TextDay.class);
intent.putExtra("prog", programme);
startActivity(intent);
}
public void IS(View view){
String programme = "IS";
Intent intent = new Intent(TestSchedule.this,TextDay.class);
intent.putExtra("prog", programme);
startActivity(intent);
}
public void IT(View view){
String programme = "IT";
Intent intent = new Intent(TestSchedule.this,TextDay.class);
intent.putExtra("prog", programme);
startActivity(intent);
}
}
第二次活动
public class TextDay extends Activity {
String programme;
private void getData(){
Bundle extras = getIntent().getExtras();
if(extras != null){
programme = extras.getString("prog");
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_text_day);
getData();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.text_day, menu);
return true;
}
public void monday(View view){
if(programme.equals("SSD")){
String programDay = "SSDMon";
Intent intent = new Intent(TextDay.this, TestShow.class);
intent.putExtra("progDay", programDay);
startActivity(intent);
}
if(programme.equals("EIS")){
String programDay = "EISMon";
Intent intent = new Intent(TextDay.this, TestShow.class);
intent.putExtra("progDay", programDay);
startActivity(intent);
}
if(programme.equals("IS")){
String programDay = "ISMon";
Intent intent = new Intent(TextDay.this, TestShow.class);
intent.putExtra("progDay", programDay);
startActivity(intent);
}
if(programme.equals("IT")){
String programDay = "ITMon";
Intent intent = new Intent(TextDay.this, TestShow.class);
intent.putExtra("progDay", programDay);
startActivity(intent);
}
}
}
第三次活动将捕获并更改图像源
enter code here
public class TestShow extends Activity {
ImageView image;
String table;
private void getData(){
Bundle extras = getIntent().getExtras();
if(extras != null){
table = extras.getString("progDay");
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_show);
getData();
image = (ImageView) findViewById(R.id.showTimeTable);
if(table.equals("SSDMonday")){
image.setImageResource(R.drawable.ssd_mon);
}
if(table.equals("EISMonday")){
image.setImageResource(R.drawable.eis_mon);
}
if(table.equals("ISMonday")){
image.setImageResource(R.drawable.is_mon);
}
if(table.equals("ITMonday")){
image.setImageResource(R.drawable.it_mon);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.test_show, menu);
return true;
}
}
通常,此问题的解决方案是将字符串作为额外的意图添加到该意图中,并与该额外的字符串一起将意图发送给其他活动
检查此链接以获取有关如何实现此功能的更多详细信息:将字符串从一个Activity传递到Android中的另一个Activity
评论部分的答案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句