使用SQLite数据库中的值填充单选按钮

时间:2014-03-20 00:45:34

标签: android database sqlite radio-button populate

我一直在寻找解决方案,但无济于事。

总的来说,我正在尝试用我的SQLite数据库中的数据填充单选按钮。

我首先尝试将数据存储在ListView中,但每次执行此操作时,ListView都会返回我的包名后面带有一个数字(是数据库的索引还是地址?)。它返回的内容看起来像这个“com.example.appname.ClassName@41ca0130”任何想法如何解决这个问题?

部分数据库代码

    public List<Plan> getAllPlans(String carrierName) 
    {
            List<Plan> planList = new ArrayList<Plan>();

            //String selectQuery = "SELECT  * FROM plans";
            String selectQuery = "SELECT  * FROM " + TABLE_NAME + " WHERE " + PLAN_CARRIER + " = '" + carrierName + "'";

            Log.e("PlansHelper", selectQuery);

            SQLiteDatabase db = this.getReadableDatabase();
            Cursor c = db.rawQuery(selectQuery, null);

            if (c.moveToFirst()) 
            {
                    do 
                    {
                            Plan plan = new Plan();
                            plan.setID(c.getInt((c.getColumnIndex(PLAN_ID))));
                            plan.setCarrier((c.getString(c.getColumnIndex(PLAN_CARRIER))));
                            plan.setCarrier((c.getString(c.getColumnIndex(PLAN_NAME))));
                            planList.add(contact);
                    } 
            while (c.moveToNext());
    }

    return planList;
}

部分活动代码

    ListView listContent = (ListView) findViewById(R.id.lvMain);

    List<Plan> plan = new ArrayList<Plan>(); 
    plan=db.getAllPlans("Meteor");

    ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, plan); 
    listContent.setAdapter(adapter);

如果您有任何想法,请告诉我,我会尝试任何建议。另外,如果你能指出我如何完成用SQLite数据填充单选按钮的整体任务的正确方向;那太棒了。

谢谢。

1 个答案:

答案 0 :(得分:0)

您需要覆盖Plan类的toString()。 请参阅ArrayAdapter的Android参考。

Android Reference “覆盖对象的toString()方法,以确定列表中项目的显示内容。”

希望这有帮助!