Привет всем Я новичок в ANDROID, поэтому у меня возникла одна проблема при разработке приложения с использованием базы данных SQLite.Я извлек некоторые столбцы данных из таблицы базы данных SQLite , сохранил их в ArrayList и отобразил их, используя ListActivity .Затем я создал фильтр просмотра списка .Теперь после фильтрации я вызвал метод onListItemClick и после нажатия любой позиции , я застрял при получении rowId определенного элемента списка отфильтрованного списка в listActivity и для сохраненияэто в целочисленной переменной.
Может ли кто-нибудь HELP мне узнать, как это возможно.
Есть идеи?Мне нужны примеры фрагментов кода ... !!
Мой код:
package com.aman.samples.dbdemo;
import java.util.ArrayList;
import com.aman.samples.dbdemo.helpers.DatabaseHelper;
import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Filterable;
import android.widget.ListAdapter;
import android.widget.ListView;
public class Searching extends ListActivity {
public static final String KEY_ROWID = "RowId";
private final String DB_NAME="Database.sqlite"; // data base name
private final String TABLE_NAME="Physics"; // table name
private SQLiteDatabase myDataBase;
ArrayAdapter<String> adapter;
EditText filterText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.searching);
final ArrayList<String> list=new ArrayList<String>();
myDataBase=this.openOrCreateDatabase(DB_NAME, MODE_PRIVATE, null);
DatabaseHelper dbHelper = new DatabaseHelper(getApplicationContext());
dbHelper.openDataBase();
Cursor c=myDataBase.rawQuery(" select * from "+TABLE_NAME,null);
if(c!=null) // if c value is not null
{
if(c.moveToFirst()) // movies first column
{
do
{
String nam=c.getString(c.getColumnIndex("Law")); // getting specific values regarding column index
// int age=c.getInt(c.getColumnIndex("age"));
list.add(" "+nam);
}while(c.moveToNext()); // move to next row
}
}
filterText = (EditText) findViewById(R.id.search_box);
filterText.addTextChangedListener(filterTextWatcher);
adapter=new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
list);
setListAdapter(adapter);
}
private TextWatcher filterTextWatcher = new TextWatcher() {
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
adapter.getFilter().filter(s);
}
};
@Override
protected void onDestroy() {
super.onDestroy();
filterText.removeTextChangedListener(filterTextWatcher);
}
protected void onListItemClick(ListView l,View v,int position,long id){
super.onListItemClick(l, v, position, id );
if(position==0)
{
Integer rowId = .........// I WANT A SOLUTION OR METHOD TO RETRIEVE ROW ID OF PARTICULAR LISTITEM IN LISTACTIVITY DISPLAYING DATAS FROM SQLITE DATABASE TABLE
String s=Integer.toString(rowId);
Intent i=new Intent(this,FinalView.class);
i.putExtra("key1", s);
startActivity(i);
}
if(position==1)
{
Integer rowId = .........// I WANT A SOLUTION OR METHOD TO RETRIEVE ROW ID OF PARTICULAR LISTITEM IN LISTACTIVITY DISPLAYING DATAS FROM SQLITE DATABASE TABLE
String s=Integer.toString(rowId);
Intent i=new Intent(this,FinalView.class);
i.putExtra("key1", s);
startActivity(i);
}
if(position==2)
{
Integer rowId = .........// I WANT A SOLUTION OR METHOD TO RETRIEVE ROW ID OF PARTICULAR LISTITEM IN LISTACTIVITY DISPLAYING DATAS FROM SQLITE DATABASE TABLE
String s=Integer.toString(rowId);
Intent i=new Intent(this,FinalView.class);
i.putExtra("key1", s);
startActivity(i);
}
}
}
Заранее спасибо.