barnamenevisjavan
پنج شنبه 18 اردیبهشت 1393, 11:56 صبح
سلام این کد اکتیویتی من هستش وقتی برنامه اجرا میشه کل اطلاعات دیتابیس رو نمایش میده.
میخوام فقط وقتی اطلاعات جستجو شد نتایج مرتبت نمایش داده بشه
اینم سورس کدش
http://www.mediafire.com/download/vkd24owv6hxmvaq/FilterListViewTutorial+from+database.rar
این نمونه رو از سایت دانلود کردم همه چیزش کامله (فیلتر کردن نتایج و... ) فقط میخوام نتایج فقط با فیلتر نمایش داده بشه و با اجرای برنامه اطلاعات لود نشه
package com.androidbegin.filterlistviewtutorial;
import java.util.ArrayList;
import java.util.Locale;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends Activity {
// Declare Variables
ListView list;
ListViewAdapter adapter;
EditText editsearch;
String[] rank;
String[] country;
String[] population;
ArrayList<WorldPopulation> arraylist = new ArrayList<WorldPopulation>();
private Cursor lists;
private MyDatabase db;
private static long back_pressed = 0L;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview_main);
db = new MyDatabase(this);
Cursor c = MyDatabase.db_object.rawQuery("select id,rank,country,population from population ORDER BY rank" , null);
rank = new String[c.getCount()];
country = new String[c.getCount()];
population= new String[c.getCount()];
int a = 0;
if (c.moveToFirst())
{
do
{
try {
rank[a] = c.getString(c.getColumnIndex("rank"));
country[a] = c.getString(c.getColumnIndex("country"));
population[a] = c.getString(c.getColumnIndex("population"));
a++;
} catch (Exception e) {
e.printStackTrace();
}
}
while (c.moveToNext());
}
// Locate the ListView in listview_main.xml
list = (ListView) findViewById(R.id.listview);
for (int i = 0; i < rank.length; i++)
{
WorldPopulation wp = new WorldPopulation(rank[i], country[i],
population[i]);
// Binds all strings into an array
arraylist.add(wp);
}
// Pass results to ListViewAdapter Class
adapter = new ListViewAdapter(this, arraylist);
// Binds the Adapter to the ListView
list.setAdapter(adapter);
// Locate the EditText in listview_main.xml
editsearch = (EditText) findViewById(R.id.search);
// Capture Text in EditText
editsearch.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
String text = editsearch.getText().toString().toLowerCase(Locale .getDefault());
adapter.filter(text);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
});
}
// Not using options menu in this tutorial
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.menu_settings:
//Intent pabout = new Intent(this, About.class);
//startActivity(pabout);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
میخوام فقط وقتی اطلاعات جستجو شد نتایج مرتبت نمایش داده بشه
اینم سورس کدش
http://www.mediafire.com/download/vkd24owv6hxmvaq/FilterListViewTutorial+from+database.rar
این نمونه رو از سایت دانلود کردم همه چیزش کامله (فیلتر کردن نتایج و... ) فقط میخوام نتایج فقط با فیلتر نمایش داده بشه و با اجرای برنامه اطلاعات لود نشه
package com.androidbegin.filterlistviewtutorial;
import java.util.ArrayList;
import java.util.Locale;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends Activity {
// Declare Variables
ListView list;
ListViewAdapter adapter;
EditText editsearch;
String[] rank;
String[] country;
String[] population;
ArrayList<WorldPopulation> arraylist = new ArrayList<WorldPopulation>();
private Cursor lists;
private MyDatabase db;
private static long back_pressed = 0L;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview_main);
db = new MyDatabase(this);
Cursor c = MyDatabase.db_object.rawQuery("select id,rank,country,population from population ORDER BY rank" , null);
rank = new String[c.getCount()];
country = new String[c.getCount()];
population= new String[c.getCount()];
int a = 0;
if (c.moveToFirst())
{
do
{
try {
rank[a] = c.getString(c.getColumnIndex("rank"));
country[a] = c.getString(c.getColumnIndex("country"));
population[a] = c.getString(c.getColumnIndex("population"));
a++;
} catch (Exception e) {
e.printStackTrace();
}
}
while (c.moveToNext());
}
// Locate the ListView in listview_main.xml
list = (ListView) findViewById(R.id.listview);
for (int i = 0; i < rank.length; i++)
{
WorldPopulation wp = new WorldPopulation(rank[i], country[i],
population[i]);
// Binds all strings into an array
arraylist.add(wp);
}
// Pass results to ListViewAdapter Class
adapter = new ListViewAdapter(this, arraylist);
// Binds the Adapter to the ListView
list.setAdapter(adapter);
// Locate the EditText in listview_main.xml
editsearch = (EditText) findViewById(R.id.search);
// Capture Text in EditText
editsearch.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
String text = editsearch.getText().toString().toLowerCase(Locale .getDefault());
adapter.filter(text);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
});
}
// Not using options menu in this tutorial
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.menu_settings:
//Intent pabout = new Intent(this, About.class);
//startActivity(pabout);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}