База данных SQLite для Android "R не может быть преобразована в переменную"

Я только начал изучать программирование на Android, и я пытался создать простую базу данных SQLite для Android, и я столкнулся с некоторой ошибкой в ​​моих файлах ".java" в "src", такой как "R не может быть преобразован в переменную", и произошла ошибка. в моей папке xml at menu говорится, что "Ошибка: не найден ресурс, который соответствует указанному имени (в" title "со значением" @string/action_settings "). database_android_satu.xml /DatabaseAndroid/res/menu line 5 Проблема с Android AAPT" I глубоко благодарность за вашу доброту вашего ответа и, возможно, несколько советов..

вот мои файлы.java:

package com.db.satu;

    import java.util.ArrayList;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TableLayout;
    import android.widget.TableRow;
    import android.widget.TextView;
    import android.widget.Toast;

    public class DatabaseAndroidSatu extends Activity {
    DatabaseManager dm;
    EditText nama, hobi;
    Button addBtn;
    TableLayout tabel4data;// tabel for data

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    dm = new DatabaseManager(this);
    tabel4data = (TableLayout) findViewById(R.id.tabel_data);
    nama = (EditText) findViewById(R.id.inNama);
    hobi = (EditText) findViewById(R.id.inHobi);
    addBtn = (Button) findViewById(R.id.btnAdd);
    addBtn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    simpKamuta();
    }
});
    updateTable();
    }

    protected void simpKamuta() {
    try {
    dm.addRow(nama.getText().toString(),hobi.getText().toString());
    Toast.makeText(getBaseContext(),
    nama.getText().toString() + ", berhasil disimpan",
    Toast.LENGTH_SHORT).show();
    updateTable();
    kosongkanField();
    } catch (Exception e) {
    e.printStackTrace();
    Toast.makeText(getBaseContext(), "gagal simpan, " +
        e.toString(),Toast.LENGTH_LONG).show();
    }
    }
    protected void kosongkanField(){
    nama.setText("");
    hobi.setText("");
    }
    protected void updateTable() {
    // TODO Auto-generated method stub
    while (tabel4data.getChildCount() > 1) {
    tabel4data.removeViewAt(1);
    }

    ArrayList<ArrayList<Object>> data = dm.ambilSemuaBaris();//

    for (int posisi = 0; posisi < data.size(); posisi++) {
    TableRow tabelBaris = new TableRow(this);
    ArrayList<Object> baris = data.get(posisi);

    TextView idTxt = new TextView(this);
    idTxt.setText(baris.get(0).toString());
    tabelBaris.addView(idTxt);

    TextView namaTxt = new TextView(this);
    namaTxt.setText(baris.get(1).toString());
    tabelBaris.addView(namaTxt);

    TextView hobiTxt = new TextView(this);
    hobiTxt.setText(baris.get(2).toString());
    tabelBaris.addView(hobiTxt);

    tabel4data.addView(tabelBaris);
    }
}}

Вот мои XML-файлы, которые находятся в папке меню проекта: в них содержится ошибка: "Ошибка: не найден ресурс, соответствующий данному имени (в" заголовке "со значением" @string/action_settings "). database_android_satu.xml / База данных Android / res / строка меню 5 Android AAPT Проблема "

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.db.satu.DatabaseAndroidSatu" >

    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/action_settings"/>

</menu>

2 ответа

Решение

Часто когда R.java не работает должным образом, это потому, что у вас есть проблема в одном из ваших файлов XML. В этом случае ваш menu.xml файл вызывает проблему. В нем говорится, что вы ссылаетесь на строку с именем action_settings, но эта строка еще не определена.

Чтобы это исправить, откройте strings.xml файл и определить строку, используя <string name="action_settings">MyString</string>,

Пример в ответ на ваш комментарий:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Masukkan nama dan hobi</string>
    <string name="app_name">Database Android #1</string>
    <string name="btnAddtxt">Add</string>
    <string name="namaLabel">Nama</string>
    <string name="hobiLabel">hobi</string>
    <string name="nomorLabel">No.</string>
    <string name="nomorLabel">No.</string>
    <string name="action_settings">Settings</string>
</resources>

Вы должны указать <string name="action_settings">Some string</string> в файле strings.xml.

Другие вопросы по тегам