Androidクリックですべてのactivityを閉じる
2842 ワード
2つの方法があります.1つは、ブロードキャストでクリックしてすべてのactivityを開き、クリックしてブロードキャストでactivityを閉じる例がネット上に多いので、ここでは紹介しません.私はリストセットでactivityを制御して、activityが書いたグローバルクラスを開くたびに、1つを記録して、最後に記録したactivity、finisを落とせばいいです.My_アプリケーション(インベントリファイルのアプリケーションに登録する)
MainActivity(以下で開くActivityは、グローバルクラスを通じてリストセットに記録されます)
B
C(最終的な方法ではlistから開いたactivityを見つけてactivityに値を割り当て、activityをオフにします)
activity登録を忘れないで...
import android.app.Activity;
import android.app.Application;
import java.util.ArrayList;
import java.util.List;
public class My_Aplication extends Application{
public List list;
@Override
public void onCreate() {
super.onCreate();
list=new ArrayList();
}
public void dateActivity(Activity activity){
list.add(activity);
}
}
MainActivity(以下で開くActivityは、グローバルクラスを通じてリストセットに記録されます)
import android.app.Activity;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private List list;
private Button mBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
((My_Aplication)getApplicationContext()).dateActivity(MainActivity.this);
mBtn= (Button) findViewById(R.id.mBtn);
}
public void onClick(View view) {
startActivity(new Intent(MainActivity.this,B.class));
}
}
B
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class B extends Activity{
private Button mBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.b);
((My_Aplication)getApplicationContext()).dateActivity(B.this);
mBtn= (Button) findViewById(R.id.mBtn);
}
public void onClick(View view) {
startActivity(new Intent(B.this,C.class));
}
}
C(最終的な方法ではlistから開いたactivityを見つけてactivityに値を割り当て、activityをオフにします)
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.util.List;
public class C extends Activity{
private List list;
private Button mBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.c);
list=((My_Aplication)getApplicationContext()).list;
mBtn=(Button) findViewById(R.id.mBtn);
}
public void onClick(View view) {
for (int i=0;i
activity登録を忘れないで...