Вызов метода CustomAdapter из onItemClick - PullRequest
0 голосов
/ 23 октября 2011

У меня есть специальный адаптер, XML-файл которого для представлений в сетке имеет вид:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="120dp"
android:orientation="vertical">
    <ImageView
    android:id="@+id/imagepart"
    android:layout_width="fill_parent"
    android:layout_height="100dp"
    android:gravity="top"/>

    <TextView
    android:id="@+id/textpart"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor = "#000000"
    android:gravity="top"/>
</LinearLayout>

В этом пользовательском адаптере у меня есть метод для возврата строки из частного массива.

Я хотел бы вызвать этот прежний метод внутри onItemClick, я пробовал несколько способов через «родительский» объект, но я не могу ...

public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
       Intent DishDetailsIntent = new Intent(v.getContext(), DishesDetails.class);
       DishDetailsIntent.putExtra("SectorNum", getIntent().getStringExtra("SectorNum"));
       String DishName = //
       DishDetailsIntent.putExtra("DishName", DishName);
       startActivity(DishDetailsIntent);
}

Любая помощь?заранее.

Наконец я получил ответ:

TextView tv= (TextView) v.findViewById(R.id.textpart);
String DishName = tv.getText().toString();
DishDetailsIntent.putExtra("DishName", DishName);

1 Ответ

0 голосов
/ 23 октября 2011

Я бы порекомендовал перенести getName () в Activity, где он доступен для обеих целей.

Второй вариант - сделать getName статическим, чтобы вы могли обращаться к нему напрямую, однако это может вызвать другие проблемы.

...