см. следующий код. Выделите свой код следующим образом.
$query="select * from articles";
$result=$conn->query($query);
$row = $result->fetch_assoc();
if($row)
{
echo $row['content'];
}
echo "no results founded";
?>
arg0
ваша AdapterView
и arg2
позиция.
Вы пробовали:
arg0.getItemAtPosition(arg2);
Да ... к сожалению, имена параметров в методе onItemClick, который вы должны реализовать, не являются настолько информативными, но вот пример с именами того, чем они являются:
autoCompleteTextView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long rowId) {
String selection = (String)parent.getItemAtPosition(position);
//TODO Do something with the selected text
}
});
Для получения дополнительной информации см .: http://developer.android.com/reference/android/widget/AdapterView.OnItemClickListener.html
Проще всего
Для получения текста выбранного предложения в AutoCompleteTextView используйте это
autoCompleteTextView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Log.e("========>>", autoCompleteTextView.getText().toString());
}
});
Еще один способ получения текста предложения, выбранного в AutoCompleteTextView
, это
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id)
{
TextView txtvw=(TextView) view;
String str=txtvw.getText().toString();
int index = contactNames.indexOf(str);
}
. Я думаю, что вы ищете это.
String s = this.mCountry.getEditableText().toString();
Где mCountry
является AutoCompleteTextView
.
this.mCountry = (AutoCompleteTextView) findViewById(R.id.autocomplete_country);
ArrayAdapter<String> adapterCountry = new ArrayAdapter<String>(this, R.layout.list_item, countries);
this.mCountry.setAdapter(adapterCountry);
mCountry
- это список стран, и я хотел сохранить страну, выбранную в SharedPreferences
.
Надеюсь, это поможет.
попробуйте это:
txtPurpose.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Purpose selected = (Purpose) arg0.getAdapter().getItem(arg2);
txtPurpose.setTag(selected);
}
});
Вот код, который решит проблему.
private AdapterView.OnItemClickListener onItemClickListener = new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int pos, long id) {
int index = (int) view.getTag();
Object item = parent.getItemAtPosition(index);
if (item instanceof SearchItemShareConnectionDAO) {
SearchItemShareConnectionDAO dao = (SearchItemShareConnectionDAO) item;
}
}
};
SetTag (Dao.getPosition) в методе getView () адаптера.
Чтобы получить текст отображаемого элемента, выбранного пользователем
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
String selectedItemText = arg0.getItemAtPosition(arg2);
Log.i("myTag", "SELECTED TEXT WAS["+selectedItemText+"]);
}
Следуя рекомендациям, пожалуйста, используйте некоторую форму описательной номенклатуры для ваших переменных, ваш код будет более понятным:
public void onItemClick(AdapterView<?> adapterViewIn, View viewIn, int selectedItemIndexIn, long id)
Существует также способ получить элемент за пределами onItemClick
:
int index = tv.getListSelection();
if (index != ListView.INVALID_POSITION) {
Object item = tv.getAdapter().getItem(index);
}
, остерегайтесь того, что int getListSelection()
может вернуть ListView.INVALID_POSITION
, если нет раскрывающегося списка или если нет выбора.