2015-02-22 6 views
25

मैं एक्शनबार को प्रतिस्थापित करने के लिए टूलबार का उपयोग कर रहा हूं। सभी एक समस्या के साथ अच्छी तरह से चल रहे हैं:सभी गतिविधियों में टूलबार का उपयोग करें (एंड्रॉइड)

टूलबार केवल मुख्य गतिविधि पर दिखाता है।

यदि मैं किसी भी गतिविधि पर टूलबार को कॉल करने का प्रयास करता हूं, वैसे ही मैंने मुख्य गतिविधि के साथ किया था, जब मैं उस गतिविधि को कॉल करता हूं तो ऐप क्रैश हो जाएगा।

यदि मैं क्रिएटऑप्शनमेनू पर टूलबार को बढ़ाने की कोशिश करता हूं, तो जब मैं इसे कॉल करता हूं तो वह गतिविधि क्रैश हो जाएगी।

मैं अपनी सभी गतिविधियों में एक ही टूलबार को कैसे कॉल/उपयोग कर सकता हूं न कि केवल मुख्य।

public android.support.v7.widget.Toolbar toolbar; 

protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_about); 
    toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.app_bar_id); 
    setSupportActionBar(toolbar); 
} 

कोड के ऊपर स्थित टूलबार सफलतापूर्वक कॉल करने के लिए काम करता है, लेकिन यह केवल काम करता है अगर मैं मुख्य गतिविधि पर इसका इस्तेमाल, गतिविधियों के बाकी अगर दुर्घटना होगा:

यहाँ कोड के कुछ टुकड़े है मैंने टूलबार को ऊपर दिखाया गया वही विधि कहा।

कुछ मदद कृपया?

धन्यवाद।

संपादित:

अनुरोध पर यहाँ और अधिक कोड के टुकड़े कर रहे हैं:

app_bar.xml:

<?xml version="1.0" encoding="utf-8"?> 

<android.support.v7.widget.Toolbar 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:background="@color/actionbarbgcolor" 
app:popupTheme="@style/popUpTheme"> 

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

themes.xml (styles.xml प्रतिस्थापन):

<?xml version="1.0" encoding="utf-8"?> 
<resources xmlns:tools="http://schemas.android.com/tools"> 

<style name="DefaultActionBarTheme" parent="Theme.AppCompat.NoActionBar"> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowActionBar">false</item> 
    <item name="android:textColorPrimary">@color/windowbackgroundcolor</item> 
    <item name="android:windowBackground">@color/windowbackgroundcolor</item> 
</style> 

<style name="popUpTheme"> 
    <item name="android:textColor">@color/actionbarbgcolor</item> 
</style> 
</resources> 
+0

"एप्लिकेशन को जब मैं उस गतिविधि फोन दुर्घटना जाएगा" लिख सकते हैं - करने के लिए उपयोग LogCat अपने क्रैश से जुड़े जावा स्टैक ट्रेस की जांच करें: https: // stackoverflow।कॉम/प्रश्न/23353173/दुर्भाग्य से-myapp-has-stop-how-can-i-resol-this – CommonsWare

+0

यदि आप टूलबार को लगातार रखना चाहते हैं, तो आपको इसके बजाय कई टुकड़ों के साथ एक गतिविधि का उपयोग करना चाहिए। – Simas

+0

क्या आपने टूलबार को सभी लेआउट में रखा था? अपना लॉगकैट पोस्ट करें। –

उत्तर

34

मुझे समाधान मिला, मैं बाकी गतिविधियों लेआउट फ़ाइलों में टूलबार शामिल करना भूल गया। तो मैं एक टूलबार को बुला रहा था जो उस गतिविधि के लेआउट में मौजूद नहीं था।

मैंने केवल मुख्य गतिविधि में शामिल किया था इसलिए यही कारण है कि यह वहां काम करता था और बाकी हिस्सों में दुर्घटनाग्रस्त हो गया था।

शुरुआती के लिए, इसका मतलब यह निम्नलिखित कोड हर लेआउट xml फ़ाइल आप उपकरण पट्टी इच्छा में काम करने में मौजूद होना चाहिए:

<include layout="@layout/app_bar"/> 

ध्यान दें कि "app_bar" सिर्फ नाम मैं, तुम्हारा साथ मेरे उपकरण पट्टी कहा जाता है अलग हो सकता है।

शुभकामनाएं।

+2

आपने app_bar.xml में toobar को किस लेआउट को लपेट लिया? – Phil

0

आपको लगता है कि ऊंचाई मूल्य के लिए उपकरण पट्टी

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:fitsSystemWindows="true" 
    tools:context="com.tejariapp.myapplicationtester1.MainActivity"> 


    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 

    </android.support.design.widget.AppBarLayout> 

</android.support.design.widget.CoordinatorLayout> 

वेतन ध्यान शामिल अनुवर्ती कोड के साथ एक लेआउट बना सकते हैं, यदि आप निर्धारित नहीं करते हैं यह wrap_content मूल्य आप उपकरण पट्टी नीचे चला गया है कि अन्य तत्वों को देख सकते हैं और उसके बाद प्रत्येक लेआउट है कि आप उपकरण पट्टी करना चाहते हैं में, बस आप इस

<include layout="@layout/toolabar" /> 
संबंधित मुद्दे

 संबंधित मुद्दे