0

这是我的数据库处理程序代码..

                    // Getting All detail
                    public List<Detail> getAllDetail() {
                        List<Detail> detailList = new ArrayList<Detail>();
                        // Select All Query
                        String selectQuery = "SELECT  * FROM " + TABLE_DETAIL;

                        SQLiteDatabase db = this.getWritableDatabase();
                        Cursor cursor = db.rawQuery(selectQuery, null);

                        // looping through all rows and adding to list
                        if (cursor.moveToFirst()) {
                            do {
                                Detail detail = new Detail();
                                detail.setID(Integer.parseInt(cursor.getString(0)));
                                detail.setTitle(cursor.getString(1));
                                detail.setDetail(cursor.getString(2));

                                // Adding contact to list
                                detailList.add(detail);
                            } while (cursor.moveToNext());
                        }

我需要在一个活动类中检索这些细节,它的布局文件看起来像一个带有这样的按钮的列表视图..

在此处输入图像描述

该按钮应该被分配数据库行的ID..单击它应该转到另一个活动,在该活动中可以完全查看特定行的详细信息..

请帮助我..提前谢谢..

4

2 回答 2

0

这是列表视图吗?还是您创建了自己的布局?如果这是列表视图,那么您已经扩展了适配器类,并且您可以从那里编写这些按钮的点击侦听器。但如果它不是适配器,那么您需要编写自己的点击侦听器,并且需要将其提供给列表中的每个按钮。

希望这会帮助你。

谢谢

于 2012-04-11T11:31:37.593 回答
0

我通过使用按钮和文本视图创建动态线性布局自己得到了解决方案。

RelativeLayout rl = (RelativeLayout) findViewById(R.id.relativeLayout3);

        final DatabaseHandler dbpin = new DatabaseHandler(this);
        Log.d("Reading: ", "Reading all tasks..");
            List<Task> task1 = dbpin.getAllTask();       

            for (Task cn : task1) {
                String log = cn.getTitle();
             int i = cn.getID();


             Button button = new Button(this);
                  button.setText("View" + i);
                button.setTextSize(10);   

                button.setId(2000 + i);
                int width = 80;
                int height = 60;


                TextView textview = new TextView(this);
                textview.setText(log);
                textview.setWidth(200);
                textview.setTextSize(20);
                textview.setPadding( 0, 10, 0, 0);
                textview.setId(2000 + i);
            }
于 2012-04-13T18:00:52.380 回答