带有导航按钮的Android列表视图......需要帮助

时间:2012-04-11 10:58:59

标签: android android-listview

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

                    // 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());
                        }

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

enter image description here

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

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

2 个答案:

答案 0 :(得分:0)

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

希望这会对你有所帮助。

谢谢

答案 1 :(得分:0)

我自己通过按钮和textview创建动态线性布局来获得解决方案..

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