Получить значение элемента списка (конкретное текстовое представление) при удалении

Я создаю приложение CMS и хочу удалить элемент, для этого мне нужен идентификатор, который я скрыл в элементе списка. Когда я удерживаю элемент списка, он появляется с кнопкой удаления, которую я нажимаю, что приводит меня к этому фрагменту кода:

@Override
public boolean onContextItemSelected(MenuItem item) {
    AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
    switch(item.getItemId()) {
        case R.id.delete:

            new HttpDelete("http://test.soundwave.drieo.nl/api/content/"+ text + apikey);
            return true;
        default:
            return super.onContextItemSelected(item);
    }
}

Пользовательский список:

Мой пользовательский список

При удержании клика по элементу это появляется, вызывающее код. (Verwijderen == delete) При удержании клика по элементу появляется код, вызывающий код.

Custom Row XML для пользовательского адаптера:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="6dip">

<ImageView
    android:id="@+id/icon"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentTop="true"
    android:layout_marginEnd="6dip"
    android:contentDescription="@string/TODO"/>

<TextView
    android:id="@+id/secondLine"
    android:layout_width="fill_parent"
    android:layout_height="26dip"
    android:layout_alignParentBottom="true"
    android:layout_alignParentEnd="true"
    android:layout_toEndOf="@id/icon"
    android:ellipsize="marquee"
    android:singleLine="true"
    android:text="@string/description"
    android:textSize="12sp"
    android:visibility="visible"/>

<TextView
    android:id="@+id/firstLine"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_above="@id/secondLine"
    android:layout_alignParentEnd="true"
    android:layout_alignParentTop="true"
    android:layout_alignWithParentIfMissing="true"
    android:layout_toEndOf="@id/icon"
    android:gravity="center_vertical"
    android:text="@string/Example"
    android:textSize="16sp" />

<TextView
    android:id="@+id/tbid"
    android:layout_width="fill_parent"
    android:layout_height="26dip"
    android:ellipsize="marquee"
    android:singleLine="true"
    android:text="@string/ID"
    android:textSize="12sp"
    android:layout_alignTop="@+id/secondLine"
    android:layout_toEndOf="@+id/icon"
    android:layout_marginStart="68dp"
    android:visibility="invisible"/>

</RelativeLayout>

person Community    schedule 31.03.2016    source источник
comment
Так в чем проблема? Что вам нужно, пожалуйста, уточните?   -  person Alok Gupta    schedule 31.03.2016
comment
См. stackoverflow.com /вопросы/14328596/   -  person Vijay    schedule 31.03.2016
comment
@Vijay Я попробовал эту страницу, но не понял / не заставил ее работать.   -  person    schedule 31.03.2016
comment
@AlokGupta извините, если я не сказал это правильно, мне нужно получить идентификатор, также известный как текст, который находится в ссылке на HTTPDelete, чтобы я мог удалить этот конкретный элемент. Я редактирую некоторые фотографии, чтобы сделать их более четкими   -  person    schedule 31.03.2016
comment
@Override public boolean onContextItemSelected(MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); индекс int = информация.позиция; //используем этот индекс для получения текущих выбранных данных от адаптера }   -  person Vijay    schedule 31.03.2016
comment
@Vijay, я добавил это, но как мне использовать это, чтобы получить текст из текстового представления с именем id и поместить его в строку, которую я могу использовать в ссылке? Я новичок в adnroid, поэтому пока не очень хорошо в этом разбираюсь.   -  person    schedule 31.03.2016
comment
Можете ли вы показать макет представления элементов адаптера в формате xml?   -  person Vijay    schedule 31.03.2016
comment
@Vijay Добавил это, надеюсь, это то, что ты имеешь в виду   -  person    schedule 31.03.2016


Ответы (2)


Попробуй это

public boolean onContextItemSelected(MenuItem item){
    AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();

    switch(item.getItemId()) {
    case R.id.delete:    
Toast.makeText(MainActivity.this, ((TextView) info.targetView.findViewById(R.id.tbid)).getText().toString(),Toast.LENGTH_SHORT).show();

    return true;
    default:
        return super.onContextItemSelected(item);
    }
}
person Vijay    schedule 31.03.2016

вам нужно получить позицию выбранного элемента (из списка)

public boolean onContextItemSelected(MenuItem item) {
    //...codes 
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
    int index = info.position;
    //... other codes
}

теперь используйте index, чтобы получить элемент из набора данных, например, предположим, что набор данных ArrayList или Array назван myItems:

int itemId = myItems.get(index).getId();
//call API using itemId as parameter
person Yazan    schedule 31.03.2016