Пропущенные значения в R.java использование слайдбара Джереми Файнштейна и панели действий Шерлок

#android #android-actionbar #actionbarsherlock #slidingmenu #r.java-file

#Android #android-панель действий #actionbarsherlock #slidingmenu #r.java-файл

Вопрос:

Всем привет, я только что начал разработку Android с помощью Eclipse IDE.

Я пытаюсь создать меню слайдов сбоку вместе с панелью действий вверху, аналогично некоторым популярным приложениям, таким как 4Square, 9GAG, Facebook и т. Д.

Я хочу использовать скользящее меню Джереми Файнштейна вместе с библиотеками Шерлока панели действий. Я скачал их с https://github.com/jfeinstein10/SlidingMenu и http://actionbarsherlock.com/download.html

В настоящее время я изучаю, как использовать эти библиотеки, и попытался запустить пример, приведенный в zip-файле с GitHub. Мне потребовалось несколько дней, чтобы правильно импортировать библиотеки, и теперь с примером проблем не было.

Но затем, когда я попытался импортировать библиотеки в свой собственный проект, кажется, что проект ссылается на неправильный R.java досье. Это код:

 @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setTitle(mTitleRes);

    // set the Behind View
    setBehindContentView(R.layout.menu_frame);
    if (savedInstanceState == null) {
        FragmentTransaction t = this.getSupportFragmentManager().beginTransaction();
        mFrag = new MenuListFragment();
        t.replace(R.id.menu_frame, mFrag);
        t.commit();
    } else {
        mFrag = (ListFragment)this.getSupportFragmentManager().findFragmentById(R.id.menu_frame);
    }

    // customize the SlidingMenu
    SlidingMenu sm = getSlidingMenu();

    // these 3 lines containing errors:
    sm.setShadowWidthRes(R.dimen.shadow_width);
    sm.setShadowDrawable(R.drawable.shadow);
    sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);

    sm.setFadeDegree(0.35f);
    sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);

    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
 

Для 3 строк выше возникает следующая ошибка

 shadow_width cannot be resolved or is not a field
 

Кроме того, для этих строк,

 @Override
public boolean onCreateOptionsMenu(Menu menu) {
    getSupportMenuInflater().inflate(R.menu.main, menu);
    return true;
}
 

Ошибка

 main cannot be resolved or is not a field
 

==================================================================================

Что касается способа импорта двух библиотек, вот шаги, которые я сделал, которые я собрал из разных источников и вопросов в Интернете:

  1. Импортируйте библиотеку скользящих меню
     File -> Import -> Android -> Existing Android Code Into Workspace
    Browse -> SlidingMenu-master -> library -> Finish
     
  2. Импортируйте библиотеку панели действий шерлока
     File -> Import -> Android -> Existing Android Code Into Workspace
    Browse -> JakeWharton-ActionBarSherlock-5a15d92 -> actionbarsherlock -> Finish
     
  3. Настройка свойств панели действий Шерлока
     Project -> Properties -> Android -> Project Build Target -> Android 4.0.3
     
  4. Настройка свойств скользящего меню
     Project -> Properties -> Android -> Project Build Target -> Android 4.0.3
    Project -> Properties -> Android -> Library -> Add -> Add actionbarsherlock
    Project -> Properties -> Project References -> check actionbarsherlock
     
  5. Настройка свойств моего проекта
     Project -> Properties -> Android -> Project Build Target -> Android 4.0.3
    Project -> Properties -> Android -> Library -> Add -> Add both libraries
    Project -> Properties -> Project References -> check both libraries
     
  6. В
     library -> com.jeremyfeinstein.slidingmenu.lib.app -> SlidingActivity.java
    and SlidingFragmentActivity.java
     

    Изменить

     extends SlidingActivity and SlidingFragmentActivity
     

    В

     extends SherlockActivity and SherlockFragmentActivity
     
  7. Удалить
     android-support-v4.jar
     

    из моего собственного проекта и actionbarsherlock, и для них обоих, перейдите к

     Project -> Properties -> Java Build Path -> Libraries -> Add JARs
    -> library (the slider menu library) -> libs -> android-support-v4.jar
     
  8. Проект очищен и перезапущен Eclipse

Я понимаю, что, возможно, я только что совершил очень простую глупую ошибку, но любая помощь приветствуется! Спасибо!!

Ответ №1:

При попытке переместить java-файл примера в свой собственный проект есть некоторые другие XML-файлы, которые вы, возможно, пропустили. Они находятся в папке res

Решением проблемы является либо создание собственных XML-файлов, либо копирование XML-файлов примера в папку res, которые являются следующими:

 dimen.xml
drawable/shadow.xml
menu/main.xml