1

私はクラスを拡張ListActivityしており、以下のコードを使用してデフォルトの TitleBar (ActionBar と呼ばれていると思います) を非表示にしようとしています。通常のアクティビティでは機能しますが、ListActivity. このシナリオで同じことを達成するにはどうすればよいですか?

public class MyClass extends ListActivity{
    @Override
    public void onCreate(Bundle b) {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(b);
        // Tried Window.FEATURE_NO_TITLE here as well
        setContentView(R.layout.activity_myclass);
        getActionBar().setDisplayHomeAsUpEnabled(true);
    }
}

結果は NullPointerException です。必要な場合は、完全なエラー スタック トレースがここにあります: http://pastebin.com/VLR5dE8m

4

4 に答える 4

1

Titltbarを無効にするには、マニフェストファイルでこのコードを使用してください。

<アクティビティandroid:theme = "@ android:style / Theme.NoTitleBar.Fullscreen">

于 2012-11-08T11:42:45.917 に答える
0

ActionBarを使用している場合は、requestWindowFeature()を使用しないでください。これでActionBarのタイトルを隠すことができます:

ActionBar actionBar = getActionBar(); 
actionBar.setDisplayShowTitleEnabled(false); 

http://developer.android.com/reference/android/app/ActionBar.html#setDisplayShowTitleEnabled(boolean

于 2012-11-08T11:10:06.610 に答える
0

アクションバーを削除するには: getActionBar().hide(). この回答も参照してください:アクションバーを永久に無効にする方法

于 2012-11-08T11:15:08.037 に答える
-1

によって NullPointerException が生成されているようgetActionBar()です。コードから次の行を削除すると、問題が修正されました。

getActionBar().setDisplayHomeAsUpEnabled(true);

最終的な (作業中の) コード:

public class MyClass extends ListActivity{
    @Override
    public void onCreate(Bundle b) {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(b);
        setContentView(R.layout.activity_myclass);
     }
}

クラスおよびrequestWindowFeatureを呼び出す前に、 を呼び出す必要があることに注意してください。supersetContentView

于 2012-11-08T11:14:51.450 に答える