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を割り当てる必要があります。クリックすると、特定の行の詳細が完全に表示される別のアクティビティに移動する必要があります。

plsは私を助けます..事前に感謝します..

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 に答える