2013-09-23 1 views
1

У меня жуткое время, пытаясь выяснить проблему в моем приложении Andriod. Код работал нормально, а затем я обновил Andriod Studio 0.2.9, а также сделал некоторые изменения и теперь застрял.android layout вызывает крах на панели действий addtab

У меня есть следующий макет для этой деятельности, где для краткости я вырезал некоторые из нижних предметов уровня.

<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> 

Проблема заключается в том, что всякий раз, когда я включаю + идентификатор/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, или, возможно, несоответствий в библиотеке, но после многих дней я просто не могу понять это. Любая помощь или предложения более чем приветствуются!

+0

Что говорит ваш логарифм? –

ответ

0

пара вещей, чтобы попробовать:

1) использовать только строчные идентификаторы (не уверен, если есть фактическая precidence/наилучшая практика для этого, я просто думаю, что он выглядит лучше :) Попробуйте это в любом случае и посмотреть, если это помогает ,

2) Попробуйте переименовать его в нечто другое, например "@ + id/lv_main".

3) Попробуйте очистить свой проект.

4) Похоже, ваш XML некорректен. Что-то не хватает?

5) есть ли еще код, относящийся к списку? Как адаптер или что-то еще?

6) в чем исключение stacktrace?

+0

Я следил за красной селедкой. Проблема заключалась в том, что при создании первой вкладки запускается выбранный код. Я перенесла некоторую инициализацию класса из OnCreate в OnResume и имела нулевое исключение. – user1857742

+0

ах, вот и все. – nomachinez

Смежные вопросы