I am using the switch case in my activity. I am using 6 cases they open the same activity Map.java. Now in Map.java i want to get that from which button this activity open and want to perform toast there. Please give me the way. thanx in advance. here is my code
public void buttonClick(View v) {
switch (v.getId()) {
case R.id.imageButton1:
img3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(Report.this, Map.class));
}
});
break;
case R.id.imageButton2:
img4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(Report.this, Map.class));
}
});
break;
case R.id.imageButton3:
img5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(Report.this, Map.class));
}
});
break;
case R.id.imageButton4:
img6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(Report.this, Map.class));
}
});
break;
case R.id.imageButton5:
img7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(Report.this, Map.class));
}
});
break;
case R.id.imageButton6:
img8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent(Report.this, Map.class));
}
});
break;
}
}
You need to create a bundle and pass the parameter to the second activity:
public void buttonClick(View v) {
Intent intent = new Intent(Report.this, Map.class);
intent.putExtra("button", v.getId());
startActivity(intent);
}
In the second activity:
public class Map extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int caller = getIntent().getIntExtra("button", 0);
switch (caller) {
case R.id.imageButton1:
//do something
break;
case R.id.imageButton2:
//do something
break;
case R.id.imageButton3:
//do something
break;
case R.id.imageButton4:
//do something
break;
case R.id.imageButton5:
//do something
break;
case R.id.imageButton6:
//do something
break;
}
}
}
Try:
putExtra()
method of Intent. For example (2nd step):
Intent intent = new Intent(Report.this, Map.class);
intent.putExtra("WhichButton", "ButtonName");
startActivity();
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.