1)怎样在fragment中调用findviewByid的方法呢?似乎这个方法只能在MainActivity中调用一样。其实不然,在fragment中也是可以调用的。
这样来整
以下内容摘自:
http://blog.csdn.net/kwinwo/article/details/51111798
当然可以,使用getView()方法就OK了,因为这个方法最终会返回当前fragment的根视图。
Button btn = (Button) getView().findViewById(R.id.btn);
但是你应该知道要在此之前使用onCreateView来创建视图吧。
@Nullable
@Override
public ViewonCreateView(LayoutInflater inflater, ViewGroup container, BundlesavedInstanceState) {
returninflater.inflate(R.layout.fragment, null);
}
而如果你用inflate方法自己实例化一个view,比如这样:
@Nullable
@Override
public ViewonCreateView(LayoutInflater inflater, ViewGroup container, BundlesavedInstanceState) {
View view =inflater.inflate(R.layout.fragment, container, false);
}
那么就不是再继续使用getView()了,取而代之的是:
Button btn = (Button) view.findViewById(R.id.btn);
这里的view就是之前实例化的View对象了。
2) 怎样在fragment中使用listview?
要点:
在Fragment的布局中必须包含id "@Android:id/list"(在代码中则是list)的Listview。
fragement要extend ListFragment而不是fragment。
只能使用SimpleAdapter或者SimpleCursorAdapter作为适配器。
直接使用ListFragment的setListAdapter()来设置适配器。
来自这里:
Fragment中使用listview -θ..θ的专栏 -博客频道 - CSDN.NET http://blog.csdn.net/u014079441/article/details/37760305
3) 在上面的这种条件下,用simpleadapter又该怎么来用呢?
你得知道SimpleAdapter几个参数的意思
以下内容来:
Fragment中调用SimpleAdapter问题 -hack8的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/hack8/article/details/24838399
在Fragment中使用ListView的时候,需要使用适配器,在调用SimpleAdapter的时候,传递的参数需要注意。首先看SimpleAdapter的函数定义
SimpleAdapter(Context context,List<? extends Map<String, ?>> data, int resource,String[] from, int[] to)
参数:
1,context:上下文。
2,data:基于Map的list。Data里边的每一项都和 ListView里边的每一项对应。Data里边的每一项都是一个Map类型,这个Map类里边包含了ListView每一行需要的数据。
3,resource :就是一个布局layout,可引用系统提供的,也可以自定义。
4,from:这是个名字数组,每个名字是为了在 ArrayList数组的每一个item索引Map<String,Object>的Object用的。即 map 中得key值
5,to:里面是一个TextView数组。这些 TextView是以id的形式来表示的。例如:Android.R.id.text1,这个text1在layout当中是可以索引的。
一般上下文context使用this指针,但是在Fragment中会报错,需要使用如下的方式进行调用。
[java] view plain copy
1. SimpleAdapter listItemAdapter=new SimpleAdapter(
2. getActivity(), <strong><span style="color:#ff6666;">//这里要使用此,这样才不会报错。</span></strong>
3. listItem,
4. R.layout.fr_events_grid,
5. new String[]{"ItemTitle","ItemMessage","ItemImage"},
6. new int[]{R.id.fr_events_list_empty_view_title,R.id.fr_events_list_empty_view_message,R.id.fr_events_list_empty_view_image_view}
7. );
8. listView.setAdapter(listItemAdapter);
4)在为其加载适配器adapter的时候,遇到的NullPointer问题
【Fragment精深系列5】fragment findViewById()返回null完全解析 - 安诺爱思考 - 博客频道 -CSDN.NET http://blog.csdn.net/a910626/article/details/46011737
遇到的Fragment中使用setAdapter()设置ListView报空指针解决方案 - eclothy的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/eclothy/article/details/22960715
5)在listview中加载自定义的,非viewPager类的轮播图的时候,遇到的问题,
自己查了下资料,结合之前写过的一些开发demo,这样来写的
然后就遇到了这种烦人的问题
后来这样把它解决了
参考了这里
android LayoutParams 简单说明 理解 示例 - 低级写手 我自由了 - ITeye技术网站 http://byandby.iteye.com/blog/816718ListView添加头布局和脚布局 - 阳光灿烂的日子的博客 - 博客频道 - CSDN.NET http://blog.csdn.net/qq_35114086/article/details/53326293
6) 怎样获取到listview中item的信息呢?
关于android listview 的onItemClick方法-CSDN论坛-CSDN.NET-中国最大的IT技术社区 http://bbs.csdn.net/topics/390532500
一种参考是:
我自己是这样来写的
时间来到了 22:20------- à 好 累!继续加油咯,小伙子,今天就休息下吧。