Как включить запись для удаления после извлечения в sqlite? - PullRequest
0 голосов
/ 09 марта 2012

Я получаю запись из базы данных, используя следующий код.

 for (LocWiseProfileBeans cn : LocWiseProfile) {
        // get a reference for the TableLayout
        TableLayout table = (TableLayout) findViewById(R.id.locprofile_table);

        // create a new TableRow
        TableRow row = new TableRow(this);

        // count the counter up by one
        counter++;


        String log = "Loc Name: "+cn.getLocname()+" ,Lattitude: " + cn.getLattitude()+ " ,Longitude: " + cn.getLongitude()+ " , Selected Profile :"+cn.getSelectedprofile();
        TextView t = new TextView(this);
        // set the text to "text xx"
        t.setText(cn.getLocname());

        TextView t2 = new TextView(this);
        t2.setText(cn.getSelectedprofile());
        row.addView(t);
        row.addView(t2);
        table.addView(row,new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

Но мне нужно включить эту запись для удаления по запросу пользователя.
Означает, что если пользователь щелкнет по второй записи, эта запись будет удалена.
Я пытаюсь найти ответ, но не могу найти подходящий ответ .......
Пожалуйста, предоставьте мне код ссылки или статью.
Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 09 марта 2012

Вы можете сделать это, установив onClickListener для своей строки. Чтобы определить, какая строка нажата, вы можете установить уникальный тег для этой строки.

row.setTag(counter);  //  use counter or index for tag, so you can get the data from LocWiseProfile later
row.setOnClickListener(new OnClickListener()  {
    @Override
    public void onClick(View v)  {
        int tag = (Integer)view.getTag();
        LocWiseProfileBeans cn = LocWiseProfile.get(tag);
        //  Perform delete action here
        //  ...
    }   
});

Если вы хотите просто отобразить результат из db в виде списка, я предлагаю вам использовать ListActivity или ListView, с помощью адаптера вы можете более простым способом отображать и управлять вашими данными.

1 голос
/ 09 марта 2012
    //decleration 
EventDataSQLHelper eventsData; //Class where table is created
SQLiteDatabase dbx,rdbx;

//onCreate
eventsData = new EventDataSQLHelper(this);
rdbx= eventsData.getReadableDatabase();
        dbx=eventsData.getWritableDatabase();
btn1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
//specify the id of the record to be deleted
            dbx.delete("tablename", "id=" ?, null); 
            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...