Можно ли получить ссылку на ListView из Adapter в Android?

Можно ли получить ссылку на ListView из Adapter в Android без передачи его в качестве аргумента для конструктора?

Ответ 1

Это определенно возможно. Если это будет сделано или нет (да, есть случаи).

// See this method of your adapter
// The parent is the view you are looking for
public override View GetGroupView(int groupPosition, bool isExpanded, View convertView, ViewGroup parent)
{
    ListView view = (ListView)parent;
}

Ответ 2

если вы пишете пользовательский адаптер (например, CursorAdapter...), вы можете передать listview в конструкторе:

public CursorAdapterStream(Context context,ListView lv) {
        super(context, R.layout.row_stream, values);
        this.context = context;     
        this.listview=lv;
      } 

и, наконец, использовать listview в методе getView.

Ответ 3

Нет, это невозможно, макет должен быть известен адаптеру.