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