listview-在fragment中的listView问题

问题描述

在fragment中的listView问题

在fragment中显示一个自定义listView,但是运行后什么也没显示。

    public class Tab1 extends Fragment
        implements ListView.OnItemClickListener{

    private ArrayList<Custom> fetch = new ArrayList<Custom>();
    private ContactsAdapter adapter;
    private ListView lv;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle saveInstanceState){

        View v = inflater.inflate(R.layout.tab_layout, container, false);
        Custom one = new Custom("Hoang Ha", "01672286349");
        Custom two = new Custom("Ha Link", "03203590176");

        fetch.add(one);
        fetch.add(two);
        lv =(ListView)v.findViewById(R.id.list);
        adapter = new ContactsAdapter(getActivity(), fetch);
        lv.setAdapter(adapter);
        lv.setOnItemClickListener(this);
        return v;
    }

public class Custom{
    private String contactName;
    private String contactPhone;

    public Custom(String st1, String st2){
        contactName = st1;
        contactPhone = st2;
    }

    public String getName(){
        return contactName;
    }

    public String getPhone(){
        return contactPhone;
    }

    public void setName(String st1){
        contactName = st1;
    }
    public void setPhone(String st2){
        contactPhone = st2;
    }
}
    @Override
    public void onItemClick(AdapterView<?> ad, View v, int position,
                            long id) {
        // TODO Auto-generated method stub
    }
    private class ContactsAdapter extends BaseAdapter{
        private FragmentActivity activity;
        private LayoutInflater inflater;
        private ArrayList<Custom> data;

        public ContactsAdapter (FragmentActivity a, ArrayList<Custom> d){
            activity = a;
            data = d;
            inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        }

        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            data.size();
            return 0;
        }
        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return position;
        }
        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return position;
        }
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                // TODO Auto-generated method stub
                View v = convertView;
                     v = inflater.inflate(R.layout.list_row, null);
                TextView contact_name = (TextView)v.findViewById(R.id.contact_name);
                TextView phone_number = (TextView)v.findViewById(R.id.phone_number);
                //final Custom custom = entries.get(position);
                final Custom custom = data.get(position);
                contact_name.setText(custom.getName());
                phone_number.setText(custom.getPhone());
                return v;
        }
    }
}

这是列表xml代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="@color/light_dark"
    android:padding="5dip" >

    <TextView
        android:id="@+id/contact_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/name"
        android:textColor="@color/white"
        android:typeface="sans"
        android:textSize="@dimen/font_medium"
        android:textStyle="bold"/>
    <TextView
        android:id="@+id/phone_number"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/name"
        android:textColor="@color/white"
        android:typeface="sans"
        android:textSize="@dimen/font_small"
        />

</LinearLayout>

解决方案

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        data.size();
        return 0;
    }

            适配器 return 0 能有东西才怪。。。

解决方案二:

我也是!!!!求方法 。 我的这个fragment里上面是其他view(button等等 ),下面是listview,也是个Listview.setadapter(自定义的adapter)没数据!!!

解决方案三:

给Listview绑定监听时间按了么?

解决方案四:

怎么解决啊,我也碰到这个问题了,求解答啊

时间: 2025-01-09 11:18:26

listview-在fragment中的listView问题的相关文章

fragment 中 删除listview中的一行,执行更新数据,数据已经删除了,界面更新不了。

问题描述 fragment 中 删除listview中的一行,执行更新数据,数据已经删除了,界面更新不了. fragment 中 删除listview中的一行,执行更新数据,数据已经删除了,界面更新不了.退出程序,重新加载fragment界面可以显示删除后的界面请问改怎么刷新 fragment .网上说的adapter.notifyDataSetChanged();不行.新手求解答,谢谢大神!!! 解决方案 你要把listview对应的数据集中的记录也删除,然后adapter再 notify一下

android Fragment中嵌入ListView ,更新数据后,getview()没被调用

问题描述 android Fragment中嵌入ListView ,更新数据后,getview()没被调用 我是在vieapage里面嵌套listview的.viewpager是用fragment写的.listview是简单Adapter写的 解决方案 你刷新时怎么写的,如果制定了adapter,调用adapter的notifyDataSetChanged就可以了,除非你的数据源中没有数据 解决方案二: 先看listview是否绑定了adapter,然后看是否调用了notifyDataSetCh

listview-怎么给Fragment中的ListView绑定数据

问题描述 怎么给Fragment中的ListView绑定数据 急求指点!我的Fragment加载的布局里有一个ListView控件,ListView内行有一个lmageView 我想给这个ImageVieW绑定数据 求大神指点怎么弄啊,我老报错 解决方案 listview的getview中,加载视图,并findviewbyid,找到imageview,并根据position得到指定位置的数据,给imageview赋值 解决方案二: 绑定数据到ListViewListView绑定数据ListVie

simpleadapter-为Fragment中的ListView中的ImageView赋值在setAdapter()时报错

问题描述 为Fragment中的ListView中的ImageView赋值在setAdapter()时报错 public class MyFragment3 extends ListFragment{ private ListView lv; private Context context; private List> data; private Map map; public MyFragment3(Context context){ this.context = context; } @Ov

a...-怎么用baseadapter将sqlite中的数据库适配到一个fragment里的listview?

问题描述 怎么用baseadapter将sqlite中的数据库适配到一个fragment里的listview? 想用baseadapter添加listview中图片资源,同时通过baseadapter为listview中按钮设置监听事件,有那位好心的大侠帮帮忙! 解决方案 重写一个适配器,把数据库的数据遍历出来 存在一个集合里面,再setAdapter 就行了 解决方案二: 你自少要说下数据库数据是什么样的 你要的adapter需要那些参数 解决方案三: 你自少要说下数据库数据是什么样的 你要的

高德地图中如何把map放到每个Listview的item中

问题描述 高德地图中如何把map放到每个Listview的item中 我的MainActivity的代码public class MainActivity extends FragmentActivity { private ListView listView; private BaseAdapter baseAdapter; private LayoutInflater mlayoutInflater; private AMap aMap; private MapView mapView; S

swiperefreshlayout-SwipeRefreshLayout中嵌套ListView数据不主动显示

问题描述 SwipeRefreshLayout中嵌套ListView数据不主动显示 我在SwipeRefreshLayout中嵌套了ListView,在启动应用的时候,通过网络加载数据到ListView显示,出现了问题.每次运行APP进入主界面的时候,数据可以加载成功,但是ListView显示时必须要点击一下手机屏幕,才会把数据显示出来,请问这是什么原因造成的? 解决方案 贴上这部分代码看看,是说点击屏幕还是说上拉或下拉刷新时显示数据? 解决方案二: 我意思是:我的数据可以加载,也可以显示,但是

C#中加强ListView控件的功能

控件 首先是实现ListView控件的自定义排序,订阅ListView控件的ColumnClick事件 private void listView1_ColumnClick(object sender, ColumnClickEventArgs e){ if (this.listView1.Columns[e.Column].Tag == null) this.listView1.Columns[e.Column].Tag = true; bool tabK = (bool)this.listV

Android ListView滑动过程中图片显示重复错乱闪烁的原因及解决方法

主要分析Android ListView滚动过程中图片显示重复.错乱.闪烁的原因及解决方法,顺带提及ListView的缓存机制. 1.原因分析 ListView item缓存机制:为了使得性能更优,ListView会缓存行item(某行对应的View).ListView通过adapter的getView函数获得每行的item.滑动过程中, a. 如果某行item已经滑出屏幕,若该item不在缓存内,则put进缓存,否则更新缓存: b. 获取滑入屏幕的行item之前会先判断缓存中是否有可用的ite