2016-09-05 3 views
0

私は複数のアクティビティで共通のレイアウトフォームを作成しようとしています。このコモンレイアウトには、引き出しレイアウト、カスタムツールバー、およびフレームレイアウトがあります。 framelayoutは、任意のアクティビティレイアウトをホストするために使用できます。私のツールバーすなわちsetSupportActionBar(ツールバー)を設定しながらアンドロイド5.1でカスタムツールバーを使用しています。 Appクラッシュ:このアクティビティには、すでにウィンドウデコレーションによって提供されているアクションバーがあります。

私はエラーを取得しています

エラー:

この活動は、すでにウィンドウの装飾によって提供されるアクションバーがあります。あなたのテーマでは、Window.FEATURE_SUPPORT_ACTION_BARを要求せず、代わりにツールバーを使用するようにwindowActionBarをfalseに設定してください。

私はすでに次の設定を試したが、運 < "windowActionBar">偽 < "windowNoTitle">真

drawer_toolbar_layout.xml

<RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:id="@+id/map_layout" 
      xmlns:android="http://schemas.android.com/apk/res/android"> 
      <android.support.v4.widget.DrawerLayout" 
      android:id="@+id/drawerlay" 
      android:layout_width="match_parent" 
      android:layout_height="fill_parent"> 
      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:orientation="vertical"> 
       <include 
        android:id="@+id/common_toolbar" 
        layout="@layout/toolbar"/> 
       <FrameLayout 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:id="@+id/framlay"/> 
      </LinearLayout> 
      <RelativeLayout 
       android:id="@+id/relative_layout" 
       android:layout_marginTop="?attr/actionBarSize" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:layout_gravity="start" > 
       <ListView 
        android:id="@+id/drawer_list" 
        android:layout_width="wrap_content" 
        android:layout_height="match_parent" 
        android:layout_gravity="left" 
        android:background="@drawable/shadow_rectangle" 
        android:choiceMode="singleChoice" 
        android:divider="@color/logoorange" 
        android:dividerHeight="1dp"/> 
      </RelativeLayout> 
     </android.support.v4.widget.DrawerLayout> 
    </RelativeLayout> 

活動のJavaコード:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.drawer_toolbar_layout); 
    FrameLayout mframeLayout = (FrameLayout) findViewById(R.id.framlay); 

    LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View activityview = inflater.inflate(R.layout.activity_usr_order_history, null); 
    mframeLayout.addView(activityview); 
    Toolbar mToolbar = (Toolbar) findViewById(R.id.common_toolbar); 
    setSupportActionBar(toolbar); 
} 

common_toolbar.xml

次の行で
<?xml version="1.0" encoding="utf-8"?> 

    <android.support.v7.widget.Toolbar 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:layout_width="match_parent" 
     android:id="@+id/toolbar_id" 
     android:layout_height="?attr/actionBarSize" 
     android:layout_margin="0dp" 
     android:background="#2196f3" 
     android:contentInsetLeft="10dp" 
     android:contentInsetRight="10dp" 
     android:contentInsetStart="10dp" 
     android:minHeight="?attr/actionBarSize" 
     android:padding="0dp" 
     app:contentInsetLeft="10dp" 
     app:contentInsetRight="10dp" 
     app:contentInsetStart="10dp"> 


    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center"> 
     <RelativeLayout 
      android:id="@+id/toolbar_rl_incart" 
      android:visibility="visible" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"> 
      <android.support.v7.widget.AppCompatImageView 
       android:layout_width="40dp" 
       android:layout_height="40dp" 
       android:id="@+id/toolbar_iv_cartimg" 
       android:gravity="center" 
       app:srcCompat="@drawable/ic_add_shopping_cart_black_24dp"/> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/toolbar_tv_itemcnt" 
       android:layout_marginTop="5dp" 
       android:text="0" 
       android:textStyle="bold" 
       android:layout_centerHorizontal="true" 
       android:textColor="@color/white" 
       android:gravity="center" 
       android:textSize="12sp"/> 
     </RelativeLayout> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="bottom|right" 
      android:layout_gravity="bottom" 
      android:id="@+id/toolbar_tv_orderhistory" 
      android:textSize="16sp" 
      android:alpha="0.5" 
      android:visibility="visible" 
      android:textColor="@color/cb_errorRed" 
      android:background="@drawable/shadow_button_rectangle" 
      android:text="My Orders" /> 

    </LinearLayout> 
</android.support.v7.widget.Toolbar> 

<--Styling theme code--> 

<style name="AppTheme_NoAction" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item 
</style> 

menifest.xml

<activity> 
    android:name=".UsrOrderHistory_Activity" 
    android:configChanges="keyboardHidden|orientation" 
    android:theme="@style/AppTheme_NoAction" 
</activity> 

style.xml

<style name="AppTheme_NoAction" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
</style> 

活動が正常に動作している次のようにコメントし

setSupportActionBar(toolbar); 
getSupportActionBar().setDisplayHomeAsUpEnabled(false); 
getSupportActionBar().setHomeButtonEnabled(false); 

この時点で私は結果を知りません...

+0

あなたはすでにあなたが例外を得ている理由 –

+1

それはあなたがそれを複数回 –

+0

を追加している可能性がありますが、 'ツールバーのインポートを表示することができているアクションバーを持っているテーマを使用しています'(findViewById'で取得する)?それは[これは](https://developer.android.com/reference/android/widget/Toolbar.html)クラスですか?私はXMLでそれを見ることはできません... – snachmsm

答えて

0

あなたはこれを持っていますか?

"値/のstyles.xml、値-V11 /のstyles.xml、および値-V14 /のstyles.xml"

その後、あなたは値-V11 /のstyles.xmlとvlues-V14 /のstyles.xmlを変更。その後、

This Activity already has an action bar supplied by the window decor

+0

私は値/ styles.xml ..だけを持っています同じコードはアンドロイド4.4.4ktで仕事をしています –

+0

これはいかがですか?あなたのコードを削除する "common_toolbar.xmlの" app:theme = "@ style/ThemeOverlay.AppCompat.Dark.ActionBar" – amuyu

+0

同じエラーを削除した後も同じエラー –

0

ゴーあなたのスタイルにのres /値/スタイル<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">にAppThemeの親を変更し、このようにツールバー設計......

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:background="?attr/colorPrimary" 
    android:elevation="6dp" 
    android:minHeight="?attr/actionBarSize" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 

EDITcommon_toolbarを含むレイアウトを指していることを確認してください。あなたのレイアウトでは、ツールバーIDはtoolbar_idです。すべてのスタイリングをきれいにして、parentテーマを編集するだけです。

+0

@Waqas ...同じエラーです。 –

+0

ファイルに移動 - >キャッシュを無効/再起動して無効にして再起動 –

+0

試してみましたが同じ失敗.. –

0

値/スタイルにこの行を追加するだけです。メインのスタイルタグでXMLファイル:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
.... 
</style> 
+0

同じエラーが発生しました...同じエラーが発生しました –

+0

値/ styles.xmlを投稿してください質問のファイル –

+0

が質問に追加されました。 –

関連する問題