package android.game;

import java.util.ArrayList;
import android.app.Activity;
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.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
public class Dictionary extends Activity {

ListView list;
EditText edit;
DBHelper dbHelper;
SQLiteDatabase db;
String sql;
Cursor cursor;
String word;

ArrayAdapter<String> array;

ArrayList<String> Al = new ArrayList<String>();

final static String dbName = "word.db";
final static int dbVersion = 1;

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);



requestWindowFeature(Window.FEATURE_NO_TITLE);//타이틀 제거
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);//풀스크린
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
//자동꺼짐 방지 화면유지

setContentView(R.layout.main);

list = (ListView)findViewById(R.id.list);
edit = (EditText)findViewById(R.id.Edit);
dbHelper = new DBHelper(this, dbName, null, dbVersion);

list=(ListView)findViewById(R.id.list);
edit=(EditText)findViewById(R.id.Edit);

// ▽ 필터링 부분

array= new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,Al);
list.setAdapter(array);

list.setTextFilterEnabled(true);

edit.addTextChangedListener(new TextWatcher()
{
public void onTextChanged(CharSequence arg0,int arg1,int arg2,int arg3)
{

}

public void beforeTextChanged(CharSequence arg0,int arg1,int arg2,int arg3)
{

}

public void afterTextChanged(Editable arg0)
{
Dictionary.this.array.getFilter().filter(arg0);
}

});


selectDB();




list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
cursor.moveToPosition(position);



String str = cursor.getString(cursor.getColumnIndex("word3"));
Toast.makeText(getApplicationContext(), str, Toast.LENGTH_SHORT).show();

}

});




}
private void selectDB()
{
db = dbHelper.getWritableDatabase();
sql = "SELECT * FROM test;";

cursor = db.rawQuery(sql, null);
while(cursor.moveToNext())
{
Al.add(cursor.getString(cursor.getColumnIndex("word")));
}

if(cursor.getCount() > 0){
startManagingCursor(cursor);
DBAdapter dbAdapter = new DBAdapter(this, cursor);
list.setAdapter(dbAdapter);
}
}
}
------------------------------------------
Al에 커서로 word 를 지정해서 필터에 Al을 넣었는데.ㅠㅠ
어플을 돌리고 실행은 되는데 리스트 뷰에서
검색하면 왜 필터가 적용이 안될가여.ㅠㅠ
DB는
ID word word2 word3
0 단어 단어 단어
1 단어 단어 단어
2 단어 단어 단어
이런 형식으로 이루어져 있습니다.