String[]:
String[] mFileList;の 2 つの配列があります。
文字列[] mFileList_description;
これは、ファイルの説明のリストを含む警告ダイアログを表示する私の関数です:
private void Load_file_list(){
Dialog dialog = null;
AlertDialog.Builder alertdg = new AlertDialog.Builder(this);
alertdg.setTitle("FILES");
alertdg.setTitle("Select file");
final ArrayAdapter<String> adapter;
final EditText filtr = new EditText(this);
final ListView lista = new ListView(this);
adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.product_name, mFileList_description);
lista.setAdapter(adapter);
/////////
filtr.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable arg0) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void onTextChanged(CharSequence cs, int start, int before,
int count) {
// sort
adapter.getFilter().filter(cs);
adapter.notifyDataSetChanged();
}
});
lista.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
Log.d("TEST","File id:"+arg2+" File name:"+mFileList[arg2]);
}
});
/////////
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
layout.addView(filtr);
layout.addView(lista);
alertdg.setView(layout);
alertdg.show();
}
説明のリストを並べ替えると、setOnItemClickListener メソッドがユーザーがクリックした説明の ID を返すため、問題がありますが、配列 mFileList の ID ではありません (この ID は別のファイルからのものである場合もあります)
。2次元配列でこれを行うのは疲れましたが、別の方法の方が良いと思います...
ありがとう、そして私の英語でごめんなさい... ;)