База данных 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.