ورود

View Full Version : ساخت جستجوی ساده در دیتابیس آندروید



dktetki
چهارشنبه 24 اردیبهشت 1393, 13:41 عصر
سلام دوستان
من میخوام برای پروژم یه جستجو گر در یک ستون از دیتابیسم درست کنم . پروژه من دارای DBadapter هستش ، حالا یه کلاس Search ساختم و این کدها رو درونش نوشتم ، و همچنین XML مربوط به جستجو رو هم ساختم ، حالا روی گوشی وقتی وارد این صفحه جستجو میشم خالی هست صفحه و وقتی روی EditText میزنم که کلمه وارد کنم میپره بیرون ، بنظرتون چیکار کنم چجور یه جستجوی ساده درست کنم براش

package com.example.app.one;

import com.example.app.one.database.DBAdapter;
import com.example.app.one.database.Sms;


import java.util.List;


import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.RadioButton;


public class Searchxha extends ListActivity {
DBAdapter db;
List<Sms> smss;
ListView lst;
EditText et;
RadioButton rd_name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_searchxha);
db = new DBAdapter(getBaseContext());
db.open();
lst = getListView();

et = (EditText) findViewById(R.id.editText1);
rd_name = (RadioButton) findViewById(R.id.radioButton1);

et.addTextChangedListener(new TextWatcher() {

@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub

}

@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub

}

@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
if(rd_name.isChecked()){
smss = db.findContacts(et.getText().toString(), DBAdapter.KEY_SMS);


}
refreshDisplay();
}
});



}





public void refreshDisplay() {
Log.i(DBAdapter.TAG, smss.size() + "= tedad fun smss");


ArrayAdapter<Sms> adapter = new SmsAdapter(this, smss);


setListAdapter(adapter);
}

@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
if(rd_name.isChecked()){
smss = db.findContacts(et.getText().toString(), DBAdapter.KEY_SMS);



}
refreshDisplay();
}


}

parvizwpf
چهارشنبه 24 اردیبهشت 1393, 15:01 عصر
تو این مواقع باید از breakpoint-debug ایتفاده کنید ببینید کجا حطا دارید.مطمئنا جایی در findcontacts یا refreshdisplay خطا بوجود میاد.

dktetki
چهارشنبه 24 اردیبهشت 1393, 15:43 عصر
من فایل هایی که استفاده کردم رو گذاشتم میشه بیشتر راهنمایی کنید ، من چجور باید به ادیت تکست بگم حرفی که کاربر درونش میزاره رو در لیست ویو جستجو کنه