Wie zu verwenden ButterKnife innen adapter
Möchte ich nutzen, ButterKnife zu binden meinen Blick in listView-adpater.
Habe ich versucht, aber ich kann nicht einfach meine "spinner" var.
public class WarmSpinnerAdapter extends ArrayAdapter<Warm> {
Context context;
public WarmSpinnerAdapter(Context context, int resource, Warm[] objects) {
super(context, resource, objects);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = LayoutInflater.from(context).inflate(R.layout.item_spinner, null);
return v;
}
@OnClick(R.id.spinner)
public void onClick() {
//open dialog and select
}
static class ViewHolder {
@BindView(R.id.spinner)
MyTextView spinner;
ViewHolder(View view) {
ButterKnife.bind(this, view);
}
}
}
Irgendwelche Ideen, bitte?
@OnClick
sollte inViewHolder
InformationsquelleAutor Stepan | 2016-11-30
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie geben Ihre Ansicht zu ButterKnife binden Sie es zuerst.
Dann haben Sie Zugriff auf Ihre Ansichten.
ButterKnife ist verbindlich, Ihre Sicht auf die
ViewHolder
Klasse, soWarmSpinnerAdapter
werden nicht in der Lage, um direkt auf ihn zugreifen. Stattdessen sollten Sie dieses Teil in dieViewHolder
Klasse:Von dort aus können Sie entweder rufen Sie eine interne Methode, die vom adapter oder führen Sie die Logik direkt in der
ViewHolder
Da bist du mit einem ArrayAdapter, die Sie benötigen, um die richtigen ViewHolder Logik in Ihrer
getView()
Methode. (Du bist onClick-Anmerkung ist auch nicht richtig eingestellt, wie es sein sollte platziert die ViewHolder Klasse.)