
所以基本上的想法是我有2个ListVIEws
最初:2个列表视图均可见,第一个正确填充,第二个为空但已显示
单击第一个ListVIEw的行后:从数据库中获取数据,并将其正确放置在第二个中
问题与解答问题:
数据已正确获取,但第二个ListVIEw保持为空,并且根本不调用getVIEw().
1-有没有一种方法可以在不刷新页面的情况下加载第二个ListVIEw?
2-因为该行不可见,所以不调用getVIEw()吗?我该如何绕过这个问题?
使用notifyDataSetChanged()进行尝试,然后验证第二个ListVIEw
非常感谢您的协助
码
CustomAdapter.java
public class CustomAdapter extends ArrayAdapter<ListItem>{ LayoutInflater inflater;List<ListItem> items;public CustomAdapter(Context context, int textVIEwResourceID, List<ListItem> items2) { super(context, textVIEwResourceID); this.items = items2; inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);}@OverrIDe public int getCount() { return items.size(); } @OverrIDepublic ListItem getItem(int position) { return ((CustomAdapter) items).getItem(position);}@OverrIDe public long getItemID(int position) { return position; }@OverrIDe public VIEw getVIEw(final int position, VIEw convertVIEw, VIEwGroup parent) { final ListItem holder; final ListItem item = items.get(position); VIEw vi=convertVIEw; if(vi==null){ vi = inflater.inflate(R.layout.popup_toPing, null); holder = new ListItem(); holder.text = (TextVIEw) vi.findVIEwByID(R.ID.text); holder.Check = (CheckBox) vi.findVIEwByID(R.ID.check); vi.setTag(holder); }else{ holder = (ListItem) vi.getTag(); } holder.text.setText(item.t); holder.Check.setChecked(item.IsChecked); return vi; }}主要活动的实施
List<ListItem> items = new ArrayList<ListItem>();;items.add(new ListItem(){{ t= c.getString("first_text"); IsChecked = false; }});CustomAdapter listadapter = new CustomAdapter(context, R.layout.popup, items); myList.setAdapter(listadapter);listadapter.notifyDataSetChanged();myList.invalIDate();解决方法:
我建议您出于某些原因考虑实施Fragments …
Fragments have their own lifecycleFragments can communicate in the same activity very easilyBest practice for supporting good UI for tablets
因此,如果您具有ListFragment A和Fragment B,则可以在“ ListFragment B”上创建一个侦听器,以便在ListFragment A上选择一个项目时,然后使用您的规范填充FragmentB.我认为这对您有很大帮助.请看本文第10节中的示例:
http://www.vogella.com/articles/AndroidFragments/article.html
以上是内存溢出为你收集整理的android-使用自定义适配器刷新可见的ListView全部内容,希望文章能够帮你解决android-使用自定义适配器刷新可见的ListView所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)