Utknąłem i potrzebuję pomocy. Próbuję użyć zestaw i uzyskać etykietę, ale nie mogę dostać jak to działa dla tej akcji:Jak korzystać z setTag i getTag z niestandardowym adapterem
- używam widoku listy, aby pokazać obrazów załadowanych do rozszerzonej karty
- Zwyczaj Adapter nadmuchać układ z imageview_1, textview_1 i button_1
- na mojej podstawowej działalności, mam „void OnClickHandler publiczny” dla button_1 i został skonfigurowany na układ z „android: onClick”, więc po kliknięciu przycisku zrobić coś
- kiedy button_1 jest kliknięty, chcę uzyskać tekst z textview_1 z tego konkretnego widoku, a następnie załadować inny obraz. Chcę do tego użyć get i set TAGS, więc muszę wykonać referencję za pomocą przycisku_1 i imageview_1. tutaj mój wycięty kod. Z góry dziękuję
Zwyczaj Adapter
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
LayoutInflater mInflater = (LayoutInflater)
context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView = mInflater.inflate(R.layout.itemstartsession, null);
holder = new ViewHolder();
holder.image = (WebView)convertView.findViewById(R.id.img_session);
//holder.image.setTag(position);
holder.code = (TextView)convertView.findViewById(R.id.code_item_session_text);
//holder.code.setTag(position);
holder.share=(ImageButton)convertView.findViewById(R.id.share_item_session_button);
holder.share.setTag(position);
convertView.setTag(holder);
// Check if my setTag is ok for button and get the reference to get
//text from textview and the referece to webview, then I gonna load a url
} else {
holder=(ViewHolder)convertView.getTag();
}
StoreDataForBA storeItem= (StoreDataForBA) getItem(position);
holder.image.loadUrl(storeItem.getImage());
holder.code.setText(storeItem.getCode());
return convertView;
}
To mój getter i setter danych, bardzo łatwy
public StoreDataForBA(String image, String code) {
this.setImage(image);
this.setCode(code);
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
Mój główny aktywny snipped
public void shareOnClickHandler(View v) {
// plz here i need the code to get the text from textview and also get the
// reference of the webview, so i can do something like
// StoreDataForBA data = (StoreDataForBA)v.getTag();
// image2.loadUrl("http://image2")..... I'm not sure, thank you
}
czemu nie trzeba zadzwonić kliknij słuchaczem button_1 w klasie adaptera? Jej zbyt łatwe, a następnie ur metoda .... – dipali
@dipali Bo mam zrobić bardziej skomplikowane działania w tym przycisku , Chcę wiedzieć, jak właściwie używać tych tagów, ale domyślam się, że jeśli użyję wewnętrznego adaptera, to ten sam kod ... uu – Jonatan
Jaki jest problem, jakie było oczekiwane zachowanie i co się stało? –