Android从数据库表填充单选按钮

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

我遵循了本教程,设置了我的DATBA和主要活动,以适应本教程。 我得到一个错误:

E/AndroidRuntime281:java.lang.RuntimeException:无法启动活动组件信息{com.xxx.xxx/com.xxx.xxx.Tamar_appActivity}:java.lang.NullPointerException

Tamar_appActivity代码为:

        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;
}