Вызов requestWindowFeature() после onCreate()

Как уже упоминалось в нескольких ответах, вызов requestWindowFeature(Window.FEATURE_NO_TITLE) должен быть до super.onCreate(...) и setContentView(...). Тем не менее, я хочу, чтобы заголовок экрана отображался при создании активности и исчезал только после возвращения из другого действия. Я попробовал это:

public void onActivityResult(int requestCode, int resultCode, Intent data) {
 switch (requestCode) {
 case REQUEST_CONNECT_DEVICE: 
 requestWindowFeature(Window.FEATURE_NO_TITLE);
 }
}

И я получаю android.util.AndroidRuntimeException: requestFeature() must be called before adding content исключения android.util.AndroidRuntimeException: requestFeature() must be called before adding content.

1 ответ

// try this way,hope this will help you....

Note : i think what you trying do is not possible so try this alternative.
public class FirstActivity extends Activity {
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 if(!getIntent().getBooleanExtra("isTitleShow",true)){
 requestWindowFeature(Window.FEATURE_NO_TITLE);
 }
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

 // this condition for stop to call SecondActivity after one time call
 if(getIntent().getBooleanExtra("isTitleShow",true)){
 Intent intent = new Intent(this,SecondActivity.class);
 startActivity(intent);
 finish();
 }
 }
} 


public class SecondActivity extends Activity {
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

 Intent intent = new Intent(this,MainActivity.class);
 intent.putExtra("isTitleShow",false);
 startActivity(intent);
 }
}

licensed under cc by-sa 3.0 with attribution.