대신 Strings
의 배열을 사용하여, 당신은 거기에 사용자 정의 객체 배열을 만들어야합니다. 만 String
당신은 또한에 독특한 ID를 추가 할 수 있습니다 다음
class CustomObject {
public long id;
public String name;
public CustomObject(long id, String name) {
this.id = id;
this.name = name;
}
@Override
public String toString() {
return name;
}
}
, 당신은 대신 저장하는, Strings
될 것입니다 데이터베이스에서 데이터를 얻을 :
첫째,이 같은 새로운 class
를 만들 우리는 나중에 사용할 배열입니다. 그런 다음 AutoCompleteTextview
클릭 검출기는 다음과 같이 만들
// this array should contain the items from your database, and a unique id
final CustomObject[] items = { new CustomObject(0, "test"), new CustomObject(1, "test"),
new CustomObject(2123123, "another name")};
을 :
그래서, 예를 들어, 다음과 같은 배열을 채울 수
textView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
CustomObject customObject = (CustomObject) parent.getItemAtPosition(position);
int index = -1;
for (int i = 0; i < items.length; i++) {
if (items[i].id == customObject.id) {
index = i;
break;
}
}
// now we have your index :)
Toast.makeText(MainActivity.this, "Your index = " + index,
Toast.LENGTH_SHORT).show();
}
});
을 그리고 그것 뿐이다, 인덱스 당신은있다 필요한 것. 큰 배열의 경우이 방법은 느립니다.
예 : – Sush
@Sush로 빠져 나올 수 있습니다. 업데이트 된 질문을 확인하십시오. 감사합니다 –