0

指定された位置のリストを参照すると、正しくありません。そのポジションが必要だったことをどのように伝えますか? メソッドgetItemId(position)は役に立ちませんでした! いくつかのサンプルコードがあります:

lv1 = (ListView) findViewById(R.id.list);
inputSearch = (EditText) findViewById(R.id.inputSearch);
final String listcode[] = getResources().getStringArray(R.array.list);
adapter = new ArrayAdapter<String>(this, R.layout.list_item,
        R.id.product_name, listcode);

lv1.setAdapter(adapter);
lv1.setTextFilterEnabled(true);

lv1.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> a, View v, int position,
            long id) {              

        long line = adapter.getItemId(position);
        Integer itemname = new Integer((int) line);
        Intent intent = new Intent();
        intent.setClass(Main.this, ShowKnot.class);
        Bundle b = new Bundle();
        b.putString("defStrID", itemname.toString());
        b.putString("defStrName", listcode[itemname]);
        intent.putExtras(b);
        startActivity(intent);
    }
});
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2,
        int arg3) {         
    Main.this.adapter.getFilter().filter(cs);
}
@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
}
});
4

1 に答える 1

1

それ以外の

long line = adapter.getItemId(position);

メソッドの引数で「位置」を使用すると、リスト項目の位置番号が返されます

 public void onItemClick(AdapterView<?> a, View v, int position,
        long id) {    

        a.getItemAtPosition(position);

ここで、「int position」パラメーターはリスト項目のインデックスです。

于 2012-09-11T18:50:27.860 に答える