2014-09-17 3 views
-1

Я использую этот Android GuideR библиотека Android ошибки

Хотя это был приятный опыт до сих пор, я испытываю свою первую проблему. Я скопировал весь код из источника, который находится в ссылке, и вставил его в папку проекта, заменив все старые файлы.

Прежде чем начать понимать, что я вставил, я подумал, что было бы логично сначала запустить код, чтобы проверить проблемы. Проект не будет запущен из-за отсутствия объекта R. После импорта (решение Eclipse к проблеме) появилось больше ошибок. Я попытался найти ответ, как в Интернете, так и в книге, но безрезультатно.

Поскольку мое программное обеспечение обновлено, я сомневаюсь, что это проблема со стороны программного обеспечения. А поскольку код доступен в Интернете, я думаю, что проблема возникла бы и была исправлена.

Заранее благодарю за помощь. За дополнительной информацией, пожалуйста, обращайтесь в комментарии.

The code: 

    MainActivity.java 

     package com.dummies.android.silentmodetoggle; 

     import android.app.Activity; 
     import android.graphics.drawable.Drawable; 
     import android.media.AudioManager; 
     import android.os.Bundle; 
     import android.util.Log; 
     import android.view.View; 
     import android.widget.Button; 
     import android.widget.ImageView; 

     public class MainActivity extends Activity { 

     private AudioManager mAudioManager; 
     private boolean mPhoneIsSilent; 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 

      mAudioManager = (AudioManager)getSystemService(AUDIO_SERVICE); 

      checkIfPhoneIsSilent(); 

      setButtonClickListener(); 

      Log.d("SilentModeApp", "This is a test"); 
     }  

     private void setButtonClickListener() { 
     Button toggleButton = (Button)findViewById(R.id.toggleButton); 
     toggleButton.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       if (mPhoneIsSilent) { 
        // Change back to normal mode 
        mAudioManager 
          .setRingerMode(AudioManager.RINGER_MODE_NORMAL); 
        mPhoneIsSilent = false; 
       } else { 
        // Change to silent mode 
        mAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT); 
        mPhoneIsSilent = true; 
       } 

       // Now toggle the UI again 
       toggleUi(); 
      } 
     }); 
     } 

    /** 
    * Checks to see if the phone is currently in silent mode. 
    */ 
    private void checkIfPhoneIsSilent() { 
     int ringerMode = mAudioManager.getRingerMode(); 
     if (ringerMode == AudioManager.RINGER_MODE_SILENT) { 
      mPhoneIsSilent = true; 
     } else { 
      mPhoneIsSilent = false; 
     } 

    } 

    /** 
    * Toggles the UI images from silent 
    * to normal and vice versa. 
    */ 
    private void toggleUi() { 

     ImageView imageView = 
      (ImageView) findViewById(R.id.phone_icon); 
     Drawable newPhoneImage; 

     if (mPhoneIsSilent) { 
      newPhoneImage = 
       getResources().getDrawable(R.drawable.phone_silent); 

     } else { 
      newPhoneImage = 
       getResources().getDrawable(R.drawable.phone_on); 
     } 

     imageView.setImageDrawable(newPhoneImage); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
     checkIfPhoneIsSilent(); 
     toggleUi(); 
    }; 
} 
+0

Я попытался импортировать проект, а не вставлять его. Тогда был чист. – MikhailTal

ответ

2

Попробуйте очистки ваш проект, это будет восстановить ваш файл R. Если в файле-файле все еще нет файла R, возможно, у вас есть ошибка в одном файле макета xml. Eclipse может не сказать вам об этом, поэтому будьте бдительны и проверьте все файлы в папке/res.

Кроме того, никогда импорт R в таком случае.

+0

Как его очистить? Я новичок в разработке java и приложений, а также в Eclipse. – MikhailTal

+0

Перейдите в «clean ...» на вкладке «Проект» вверху –

+0

Не работает. Файл main_activity.xml не содержит ошибок, а файл main.xml в папке меню имеет проблему в android: title = "@ string/action_settings". – MikhailTal

0

ли вы проверить, есть ли переменная с именем action_settings в /res/values/string.xml, если он не существует, пожалуйста, создать один, а затем очистите с помощью проектов -> чистый Makesure строящие автоматически checked

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