1

我很难在我的 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 更新或库不匹配而导致的错误,但经过很多天我还是想不通。任何帮助或建议都非常受欢迎!

4

1 回答 1

0

有几件事可以尝试:

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

2) 尝试将其重命名为其他名称,例如“@+id/lv_main”。

3)尝试清理你的项目。

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

5) 是否有更多与列表视图相关的代码?像适配器什么的?

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

于 2013-09-23T17:26:19.103 回答