没有太多要解释的,当我尝试从另一个活动访问工具栏时,应用程序崩溃了。 这是我在主要活动的子活动中写的代码:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
String titleName = ("example");
getSupportActionBar().setTitle(titleName);
这是我在清单中写的:
<activity
android:name=".SingleActivity"
android:theme="@style/AppTheme.NoActionBar"
android:parentActivityName=".MainActivity"
android:screenOrientation="portrait"/>
这是活动的XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:layoutDirection="ltr">
<TextView
android:id="@+id/titleId2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="2dip"
android:paddingTop="6dip"
android:textColor="@color/colorPrimaryDark"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/dateId2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="2dip"
android:textColor="@color/colorAccent" />
<TextView
android:id="@+id/authorId2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="2dip"
android:textColor="@color/colorAccent"
/>
<TextView
android:id="@+id/contentId2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#5d5d5d"
android:textStyle="bold"
android:scrollbars = "vertical"
android:autoLink="web"/></LinearLayout>
你们有任何想法可能会出现什么问题吗? 并且看起来logcat没有获得任何错误,应用程序首先冻结一秒钟然后崩溃。 谢谢!
答案 0 :(得分:2)
您无法访问其他活动的view
您需要在“活动布局”中添加 Toolbar
试试这个
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:layoutDirection="ltr">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/titleId2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="2dip"
android:paddingTop="6dip"
android:textColor="@color/colorPrimaryDark"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/dateId2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="2dip"
android:textColor="@color/colorAccent" />
<TextView
android:id="@+id/authorId2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="2dip"
android:textColor="@color/colorAccent"
/>
<TextView
android:id="@+id/contentId2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#5d5d5d"
android:textStyle="bold"
android:scrollbars = "vertical"
android:autoLink="web"/></LinearLayout>
答案 1 :(得分:0)
在XML中使用如下: -
<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" />
并在java中: -
ToolBar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("My title");
setSupportActionBar(toolbar);
在style.xml中: -
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />