android布局导致actionbar addtab崩溃

时间:2013-09-23 17:07:28

标签: android

我正在努力解决我的Andriod应用中的问题。该 代码运行正常,然后我更新到Andriod Studio 0.2.9并且还做了一些 变化,我现在卡住了。

我有活动的以下布局,其中我删除了一些较低的 简洁的等级项目。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".ViewActivity">

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/rl_view"
    android:visibility="visible"
    >

    <LinearLayout
        android:id="@+id/ll_view_header"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            >
        ... content omitted ...

        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_marginLeft="20dp"
            >
        ... content omitted ...


        </LinearLayout>

        <LinearLayout
            android:id="@+id/ll_view_buttons"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_marginLeft="20dp"
            >
        ... content omitted ...

        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:id="@+id/ll_view_data"
        android:layout_below="@+id/ll_view_header"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal"
        android:showDividers="middle"
        android:divider="@drawable/level_divider"
        android:dividerPadding="20dp"
        >

        <RelativeLayout
            android:id="@+id/rl_levels"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingLeft="16dp"
            android:paddingRight="16dp" >

        ... content omitted ...

        </RelativeLayout>

        <ListView
            android:id="@+id/listView_View"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="10dp"
            android:divider="#b5b5b5"
            android:dividerHeight="1dp"
            android:choiceMode="singleChoice"
            android:longClickable="true"
            />

    </LinearLayout>

</RelativeLayout>

</RelativeLayout>

问题在于每当我包含+ id / listView_View项时,我都会崩溃 尝试在oncreate方法中添加选项卡时。布局看起来很好,预览器, 也没有显示错误。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_view);

    audioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);

    mDefault_drawable = getResources().getDrawable( R.drawable.ic_item_question );
    mHeader_drawable = getResources().getDrawable( R.drawable.ic_header_icon );

    // define defaults
    index_in_modc = -1;
    mView_layout = ViewLayout.VL_DATA;
    view_style = 0;

    // Set up the action bar to show tabs.
    final ActionBar actionBar = getActionBar();
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    // For each of the sections in the app, add a tab to the action bar.
    actionBar.addTab(actionBar.newTab().setIcon(R.drawable.ic_view_view).setText(R.string.view_view).setTabListener(this));
    actionBar.addTab(actionBar.newTab().setIcon(R.drawable.ic_view_tags).setText(R.string.view_manage_tags).setTabListener(this));
    actionBar.addTab(actionBar.newTab().setIcon(R.drawable.ic_home).setText(R.string.main_home).setTabListener(this));
    actionBar.addTab(actionBar.newTab().setIcon(R.drawable.ic_help).setText(R.string.help).setTabListener(this));
             ...

如果我删除+ id / listView_View项,那么代码似乎可以工作,我没有崩溃。我试过了 所有类型的重建,评论各种事物等。我怀疑由于0.2.9更新错误, 或者可能是图书馆不匹配,但很多天后我才弄清楚。任何帮助或建议 非常欢迎!

1 个答案:

答案 0 :(得分:0)

有几件事要尝试:

1)只使用小写的ID(不确定是否有实际的预防/最佳实践,我认为它看起来更好:)无论如何尝试它,看它是否有帮助。

2)尝试将其重命名为“@ + id / lv_main”。

3)尝试清理项目。

4)看起来您的XML格式不正确。有什么遗失的吗?

5)是否有更多与listview相关的代码?像适配器或什么?

6)什么是异常堆栈跟踪?