ورود از دو اکتیویتی به یک اکتیویتی واحد
سلام دوستان
من دوتا اکتیویتی مجزا دارم. با پارامترهای متفاوت. وقتی روی هرکدوم از آنها (روی اجزای اونها) کاربر کلیک میکنه وارد یک اکتیویتی دیگه میشه که برای هر دوش یکسانه. حالا توی اکتیویتی سوم چجوری بفهمم که از اولی اومده یا از دومی ؟
ممنون
سلام
public class ActivityOne extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_one);
Button btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(ActivityOne.this, ActivityThree.class);
intent.putExtra("FROMACTIVETY", "one");
ActivityOne.this.startActivity(intent);
}
});
}
}
////////////////////////////////////
public class ActivityTwo extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
Button btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(ActivityTwo.this, ActivityThree.class);
intent.putExtra("FROMACTIVETY", "two");
ActivityTwo.this.startActivity(intent);
}
});
}
}
////////////////////////////////
public class ActivityThree extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_three);
Bundle extras = getIntent().getExtras();
if (extras != null) {
String fromActivity = extras.getString("FROMACTIVETY");
if (fromActivity.equals("one")) {
Toast.makeText(getApplicationContext(), "ActivityOne", Toast.LENGTH_LONG).show();
} else if (fromActivity.equals("two")) {
Toast.makeText(getApplicationContext(), "ActivityTwo", Toast.LENGTH_LONG).show();
}
}
}
}
حالا ی چیز دیگه : میخام بدونم اگه داخل اکتیویتی 1 و 2 نباشیم چجوری میشه ؟
یعنی یک اکتیویتی واسط باشه که وقتی کلیک میشه وارد اکتیویتی سوم بشیم . چجوری بفهمیم کدوم درون کدوم اکتیویتی کلیک شده ؟
سلام
در Activity اول و دوم و در متد onPause بنویس :
@Override
protectedvoid onPause(){
G.fromActivity = this;
super.onPause();
}
fromActivity رو در کلاس G تعریف کن . ( آموزش 2 از بخش 5 )
و در اون Activity سوم با استفاده از خاصیت simpleName همین fromActivity ، میشه فهمید از کجا اومده .
ممنون از همه دوستان : روشی که دوست عزیز گفتن و پیادش کردمو گقتم اینجا بذارم شاید کسی مشکلش همین باشه به دردش بخوره : در اکتیویتی ای که گفتیم واسط هست و اکتیویتی سوم درون اون باز میشه علاوه برپارامترهایی که میخایم بفرستیم یک پارامتری میفرستیم با این مضمون :
Intent intent = new Intent (G.currentActivity,ThirdActivity.class)
intent.putExtra("ACTIVITY",G.currentActivity);
G.currentActivity.startActivity(intent);
حالا در اکتیویتی سوم کد زیر رو مینویسیم
Bundle extras = getIntent().getExtras();
if (extras != null) {
position = extras.getInt("POSITION");
}
//Toast.makeText(G.context, extras.getString("ACTIVITYNO"), Toast.LENGTH_LONG).show();
if(extras.getString("ACTIVITYNO").equals("FirstActivity")) { ....}
else if(extras.getString("ACTIVITYNO").equals("SecondActivity"){......}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .