2013-02-21 129 views
9

我有一个应用程序有两个活动。 第一个按钮打开第二个按钮。半透明主题问题

下面是第一个中的Manifiest定义:

<activity 
    android:name="com.example.buttonexample.MainActivity"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 

     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 

第二活动:

<activity 
    android:name="com.example.buttonexample.MainActivity2" 
    android:label="@string/title_activity_main_activity2" android:theme="@android:style/Theme.Translucent"> 
</activity> 

这里是我推出第二活性(通过OnClickListener一个按钮在所述第一活性) :

public void startSecondActivityClick(View v) { 
    Intent startActivity2 = new Intent(this, MainActivity2.class); 
    startActivity(startActivity2); 
} 

这工作正常,但是当我背景的应用程序通过击中浩我和前台的应用程序。我注意到,第一项活动是不断创造/摧毁自己。我验证了这一点通过把一些代码在onDestory方法来增加静态INT:

private static int count = 0; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    count++; 

} 

protected void onDestroy() { 
    super.onDestroy(); 
    Log.i("MainActivity", String.format("Destroyed, %d", count)); 
} 

我也注意到,去掉半主题似乎解决这个问题。我的问题是有没有办法半透明或类似的东西,但也有它不重新启动?另外,我很好奇为什么会发生这种情况。我正在对星系SIII上的4.0.1 ICS进行测试。

+0

你是什么意思,它不断地创造和摧毁自己?你的意思是说,当你仅查看第二个活动时,它会创建并销毁多次?你能给我们一个Log输出的例子吗? – spierce7 2013-03-04 05:39:50

+0

我的意思是快速连续调用onCreate和onDestroy。我会添加一些日志输出。 – noahd 2013-03-04 14:29:33

+3

确定一些挖掘后,我能够弄清楚为什么会发生这种情况。有人开启了其中一个开发者选项,“不要保留活动”。关闭此后停止发生。我怀疑这种情况不会发生在生产中,因为大多数人可能没有这种设置。 – noahd 2013-03-04 20:17:41

回答

0

确定一些挖掘后,我能够弄清楚为什么会发生这种情况。有人开启了其中一个开发者选项,“不要保留活动”。关闭此后停止发生。我怀疑这种情况不会发生在生产中,因为大多数人可能没有这种设置。你可以在大多数手机的设置 - >“开发者选项”下找到它。