Android从数据库表填充单选按钮
我遵循了本教程,设置了我的DATBA和主要活动,以适应本教程。 我得到一个错误: E/AndroidRuntime281:java.lang.RuntimeException:无法启动活动组件信息{com.xxx.xxx/com.xxx.xxx.Tamar_appActivity}:java.lang.NullPointerException Tamar_appActivity代码为:Android从数据库表填充单选按钮,android,database,sqlite,radio-button,Android,Database,Sqlite,Radio Button,我遵循了本教程,设置了我的DATBA和主要活动,以适应本教程。 我得到一个错误: E/AndroidRuntime281:java.lang.RuntimeException:无法启动活动组件信息{com.xxx.xxx/com.xxx.xxx.Tamar_appActivity}:java.lang.NullPointerException Tamar_appActivity代码为: DatBas db = new DatBas(this); TamarDatabase
DatBas db = new DatBas(this);
TamarDatabaseCursor c = db.getActress();
if (c.moveToFirst())
DisplayRadioButton(c);
else
Toast.makeText(this, "No title found", Toast.LENGTH_LONG).show();
db.close();
}
public void DisplayRadioButton(Cursor c) {
for (int i = 1; i < (c.getColumnCount()); i++) {
RadioGroup radiogroup = (RadioGroup) findViewById(R.id.NameSelectGroup);
RadioButton rdbtn = new RadioButton(this);
rdbtn.setId(i);
rdbtn.setText(c.getString(i));
radiogroup.addView(rdbtn);
}
}
主要的XML是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#3691c9"
android:orientation="vertical" >
<RadioGroup
android:id="@+id/sideGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="100" >
<RadioButton
android:id="@+id/rbtnLeft"
android:layout_width="160dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="50"
android:text="xxx" />
<RadioButton
android:id="@+id/rbtnRight"
android:layout_width="160dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="50"
android:text="xxx" />
</RadioGroup>
<RadioGroup
android:id="@+id/kindGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="100" >
<RadioButton
android:id="@+id/rbtnN"
android:layout_width="160dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="50"
android:text="xxx" />
<RadioButton
android:id="@+id/rbtnP"
android:layout_width="160dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="50"
android:text="xxx" />
</RadioGroup>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="TextView"
android:textColor="#363636"
android:textSize="25dp" />
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="TextView"
android:textColor="#363636"
android:textSize="40dp"
android:textStyle="bold" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Start" />
<Button
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Pause" />
<Button
android:id="@+id/Button4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Resume" />
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Stop" />
<RadioGroup
android:id="@+id/NameSelectGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/bNameSelect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:text="RadioButton" />
</RadioGroup>
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="38dp"
android:layout_height="37dp"
android:src="@android:drawable/ic_menu_manage" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="160dp"
android:layout_height="160dp"
android:layout_gravity="center"
android:src="@android:drawable/gallery_thumb" />
</LinearLayout>
我冒昧猜测FindViewByDr.id.babyNameSelectGroup;返回null,当您尝试radiogroup.addViewrdbtn时;你得到了NPE 您是否已完成设置ContentViewr.layout.yourmainlayout;在尝试访问布局中包含的视图之前 编辑 您正在寻找babyNameSelectGroup,它似乎不存在于您的布局中,因此为您提供了NPE。也许应该是NameSelectGroup?我必须设置一个getReadableDatabase方法:
放射组放射组=放射组findViewByIdR.id.NameSelectGroup;我看了教程,我的意见是这是一个非常糟糕的教程。例如,select语句:从女演员中选择actressId、actress1、actress2、actress3、actress4;我宁愿继续前进,找点别的。目前谷歌搜索SQLite android和单选按钮经常导致这个糟糕的教程。是的,我设置了主布局:public void onCreateBundle savedinStateCState{super.onCreatesavedInstanceState;setContentViewR.layout.main;OK。发布包含NameSelectGroup的XML如何?发布是什么意思?编辑您的问题,将其放入其中,以便我们可以看到它。错误指向您试图查找该id的位置,因此可能有助于查看包含该id的XML文件。另一个需要查看的内容例如,logcat中是否有一行表示由…引起的?如果有,行号和行号处的内容可能会使我们更接近引起它的原因。更改后,出现以下错误:E/AndroidRuntime421:java.lang.RuntimeException:无法启动activity ComponentInfo{com.tamar.efrat/com.tamar.efrat.tamar_appActivity}:java.lang.NullPointerException
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#3691c9"
android:orientation="vertical" >
<RadioGroup
android:id="@+id/sideGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="100" >
<RadioButton
android:id="@+id/rbtnLeft"
android:layout_width="160dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="50"
android:text="xxx" />
<RadioButton
android:id="@+id/rbtnRight"
android:layout_width="160dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="50"
android:text="xxx" />
</RadioGroup>
<RadioGroup
android:id="@+id/kindGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="100" >
<RadioButton
android:id="@+id/rbtnN"
android:layout_width="160dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="50"
android:text="xxx" />
<RadioButton
android:id="@+id/rbtnP"
android:layout_width="160dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="50"
android:text="xxx" />
</RadioGroup>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="TextView"
android:textColor="#363636"
android:textSize="25dp" />
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="TextView"
android:textColor="#363636"
android:textSize="40dp"
android:textStyle="bold" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Start" />
<Button
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Pause" />
<Button
android:id="@+id/Button4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Resume" />
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Stop" />
<RadioGroup
android:id="@+id/NameSelectGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/bNameSelect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:text="RadioButton" />
</RadioGroup>
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="38dp"
android:layout_height="37dp"
android:src="@android:drawable/ic_menu_manage" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="160dp"
android:layout_height="160dp"
android:layout_gravity="center"
android:src="@android:drawable/gallery_thumb" />
</LinearLayout>
public SQLiteDatabase getReadableDatabase() throws SQLiteException {
thdb = new TamarDatabase(tcontext);
tdb = thdb.getReadableDatabase();
return tdb;
}