Fragment中listview的相关问题

在程序中有两个tab。每个tab都有它各自的fragment。在其中的一个tab上我需要放置一个列表视图,目的是从存储数组中接收数据,然后再作为列表显示。

public class Frag3 extends Fragment{


    ListView lv1;
    ProgressDialog ShowProgress;
    public ArrayList<Post> PostList = new ArrayList<Post>();
    TextView tv1;
    Button button1;

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

        if (container == null) {
          return null;
       }
                View view = inflater.inflate(R.layout.tab3, container, false);
                //View tv = view.findViewById(R.id.textView1);

                View listView = view.findViewById(R.id.listView1);

               String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
                    "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
               "Linux", "OS/2" };

               ArrayAdapter<String> files = new ArrayAdapter<String>(getActivity(), 
                        android.R.layout.simple_list_item_1, 
                        values);

                lv1.setAdapter(files);

        return view;
    }

}

我根据不同的web参考文献中试过了各种方法,但是都不对。在这段代码后还要添加什么呢?大家能给我引荐一个正确的方法吗?

最大的问题是变量名不匹配。你要调用lv1,作为一个类成员,并且设置一个list适配器。但是你使用
listView来查找视图。我把改后的代码帖出来,希望给你帮助。

lv1 = (ListView) view.findViewById(R.id.listView1);    

看文档:

http://developer.android.com/reference/android/app/Fragment.html

而且compat库里面的apidemo里面也有sample.

如果你用的是sdk24,那么使用eclipse添加新activity的wizard里面就有master/detail的代码生成器。

在你的代码中使用:

 public View onCreateView(LayoutInflater inflater, ViewGroup container,
 Bundle savedInstanceState) {

 View view = inflater.inflate(R.layout.tab3, container, false);

 listView = (ListView) view.findViewById(R.id.ListView1);        
 listView.setAdapter(files);