AndroidMainfest.xml下的代碼如下。
<activity
android:name=".FirstActivity"
android:launchMode="singleTop"
android:label="This is FirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
啟動應用后還是會新建一個實體,并且我按了幾次按鈕就要按幾次back鍵才能退出程式
uj5u.com熱心網友回復:
singletop模式: 系統發現存在有FirstActivity實體,但不是位于堆疊頂,于是重新生成一個實體。這就是singleTop啟動模式,如果發現有對應的Activity實體正位于堆疊頂,則重復利用,不再生成新的實體
http://blog.csdn.net/liuhe688/article/details/6754323/
uj5u.com熱心網友回復:
我也遇到了此問題 為何 android:launchMode="singleTop"沒有起到作用uj5u.com熱心網友回復:
解決方法:在oncreate方法的重寫中加入方法: intent.setFlags(intent.FLAG_ACTIVITY_SINGLE_TOP);總的方法為:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("FirstActivity111", this.toString());
setContentView(R.layout.first_layout);
Button button1 = (Button) findViewById(R.id.button_1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(FirstActivity.this, FirstActivity.class);
intent.setFlags(intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
}
});
}
uj5u.com熱心網友回復:
FirstActivity這個活動里的按鈕點擊事件這樣寫是沒問題的Intent intent = new Intent(FirstActivity.this,ThirdActivity.class);
startActivity(intent);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/62688.html
標籤:Android
