soroushp
یک شنبه 07 تیر 1394, 10:48 صبح
سلام
برای پیاده سازی یک listView مجبور شدم یک view که یک لایه هست رو بگیرم و درون listview قرار بدم ؛ مشکل اینجاست که با scroll کردن itemهای تکراری نمایش داده می شود.(احتمالا setTag,getTag )
درون getResultView ، ویو مورد نظر هست
برای رفع این مشکل چه باید کرد ؟
کد:
public class SearchBarToolsAdapter extends ArrayAdapter<SearchResult>{
public SearchBarToolsAdapter(Context context, List<SearchResult> array) {
super(context,R.layout.لایه شامل چند تکست ویو, array);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
SearchResult item = getItem(position);
if (convertView == null) {
convertView=item.getResultView();
}
return convertView;
}
}
فراخوانی یه شکل زیر :
final Vector<SearchResult> tempSearchResults = new Vector<SearchResult>();
@Override
public void onSuccess(List<SearchResult> searchResults) {
tempSearchResults.addAll(searchResults);
SearchBarToolsAdapter adapter = new SearchBarToolsAdapter(getContext(), tempSearchResults);
listView.setAdapter(adapter);
listView.invalidate();
{
به صورت کلی اگر بخواهیم یک view رو درون یک لیست ویو قرار بدیم چه روش هایی وجود داره ؟(بدون استفاده از یک کلاس برای نگهداری مقادیر داخل widget درون view)
برای پیاده سازی یک listView مجبور شدم یک view که یک لایه هست رو بگیرم و درون listview قرار بدم ؛ مشکل اینجاست که با scroll کردن itemهای تکراری نمایش داده می شود.(احتمالا setTag,getTag )
درون getResultView ، ویو مورد نظر هست
برای رفع این مشکل چه باید کرد ؟
کد:
public class SearchBarToolsAdapter extends ArrayAdapter<SearchResult>{
public SearchBarToolsAdapter(Context context, List<SearchResult> array) {
super(context,R.layout.لایه شامل چند تکست ویو, array);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
SearchResult item = getItem(position);
if (convertView == null) {
convertView=item.getResultView();
}
return convertView;
}
}
فراخوانی یه شکل زیر :
final Vector<SearchResult> tempSearchResults = new Vector<SearchResult>();
@Override
public void onSuccess(List<SearchResult> searchResults) {
tempSearchResults.addAll(searchResults);
SearchBarToolsAdapter adapter = new SearchBarToolsAdapter(getContext(), tempSearchResults);
listView.setAdapter(adapter);
listView.invalidate();
{
به صورت کلی اگر بخواهیم یک view رو درون یک لیست ویو قرار بدیم چه روش هایی وجود داره ؟(بدون استفاده از یک کلاس برای نگهداری مقادیر داخل widget درون view)