您的位置:首页 > 产品设计 > UI/UE

毕设ing|【翻译】部分UI掘进之路

2017-04-08 22:57 721 查看
当个搬运工吧,如果能帮到你的,也算是我的荣幸啦。。。。嘿嘿。如果您是原作者的话,抱歉啦,都没经过允许就给搬上来了。。。侵删!

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对象了。

转自:https://yq.aliyun.com/articles/875

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

 print?

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/816718

ListView添加头布局和脚布局 - 阳光灿烂的日子的博客 - 博客频道 - 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-------à好累!继续加油咯,小伙子,今天就休息下吧。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: