Проблемы с файлом Android R и проблемы manifest.xml - PullRequest
0 голосов
/ 21 марта 2012

Я в основном занимаюсь обучением, но в моей программе, похоже, есть ошибки, которые, похоже, происходят из R-файла. Я избавился от автоматического импорта, и мой androidManafest.xml также выдает ошибки, которые генерируются автоматически. Я просто пытаюсь научиться создавать достойное приложение. Будем благодарны за любые полезные советы по исправлению ошибок. Я указал на строки, у меня есть ошибка с этим «я получаю ошибку ->».

my convert.java

    package de.vogella.android.tempconvertor;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Toast;

public class Convert extends Activity {
 private EditText text;

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
 i get error ->   setContentView(R.layout.main);
 i get error ->   text = (EditText) findViewById(R.id.EditText01);

 }

 // This method is called at button click because we assigned the name to the
 // "On Click property" of the button
 public void myClickHandler(View view) {
  switch (view.getId()) {
 i get error ->   case R.id.Button01:
  i get error ->   RadioButton celsiusButton = (RadioButton) findViewById(R.id.RadioButton01);
 i get error ->    RadioButton fahrenheitButton = (RadioButton) findViewById(R.id.RadioButton02);
   if (text.getText().length() == 0) {
    Toast.makeText(
      this,
      "Please enter a valid number", Toast.LENGTH_LONG).show();
    return;
   }

   float inputValue = Float.parseFloat(text.getText().toString());
   if (celsiusButton.isChecked()) {
    text.setText(String
      .valueOf(convertFahrenheitToCelcius(inputValue)));
   } else {
    text.setText(String
      .valueOf(convertCelciusToFahrenheit(inputValue)));
   }
   // Switch to the other button
   if (fahrenheitButton.isChecked()) {
    fahrenheitButton.setChecked(false);
    celsiusButton.setChecked(true);
   } else {
    fahrenheitButton.setChecked(true);
    celsiusButton.setChecked(false);
   }
   break;
  }
 }

 // Converts to celcius
 private float convertFahrenheitToCelcius(float fahrenheit) {
  return ((fahrenheit - 32) * 5 / 9);
 }

 // Converts to fahrenheit
 private float convertCelciusToFahrenheit(float celsius) {
  return ((celsius * 9) / 5) + 32;
 }
}

Вот и мой XML-файл манифеста

   <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="de.vogella.android.tempconvertor"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />
    <uses-permission />

    <application
        android:icon="@drawable/ic_launcher"
     i get error ->     android:label="@string/app_name" >
        <activity
            android:name=".Convert"
       i get error ->       android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Ответы [ 2 ]

1 голос
/ 21 марта 2012

Прежде всего, убедитесь, что в вашем res\values\strings.xml

есть строка MyApp. После этого убедитесь, что в вашем исходном дереве есть R-файл: [app_root]->gen->de.vogella.android.tempconvertor->R.java

После этого, убедитесь, что вы включили файл ресурсов R в список импорта

import de.vogella.android.tempconvertor.R;
0 голосов
/ 21 марта 2012

Возможно, в res\values\strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">MyApp</string>
</resources>
нет имени приложения.
...