Adapter杂谈,想到什么说什么(以后会有个正式版本)

      本来今天是想着回顾一下以前的知识(把以前看过的简单东西做一做),然后兴致勃勃准备总结Adapter的用法,可是遇到第一个也是最简单的一个ArrayAdapter就已经撞到头破血流。。。

  这篇也许对于像我一样的菜鸟比较适合吧。老司机可以略过!(眼高手低者可以看看,没准就有用了呢)

     1、成员变量中直接  ListView lv_array=(ListView) findViewById(R.id.lv_array)看清楚是在成员变量中,这个错误我调了俩小时,过程就不说了。。。比较DT,后来仔细想了想,又仔细看了看才恍然大悟,在执行setContentView(R.layout.activity_main);之前怎么可能find其中的view呢?所以方法的调用先后顺序决定了findviewByID这个方法无法提前使用!  也就是说 老老实实在setContentView(R.layout.activity_main)之后

ListView lv_array=(ListView) findViewById(R.id.lv_array)  或者提前定义好 lv_array(在成员变量处声明)然后在后面赋值 lv_array=(ListView) findViewById(R.id.lv_array),只要findViewById()这个方法不在前面就行。  

 

     2、使用ArrayAdapter<String> adp=new ArrayAdapter<>(this, R.layout.v_arrayadapter, str);红色标记的指的是如下代码的文件:

<?xml version="1.0" encoding="utf-8"?>
<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tv_array"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#0f0"
    android:text="wushuju"
    />

        只是一个TextView的组件!强调一下 “只”,我的错误就在这个地方,很傻X地在一个linearlayout里写了一个textview,结果程序总是崩溃。(原来直接用的simpleAdapter,对这个没要求,所以就自然而然地错了)错误代码如下:

<?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="fill_parent"
    >
<TextView 
   
    android:id="@+id/tv_array"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#0f0"
    android:text="wushuju"
    />
</LinearLayout>

     这个给我的教训就是,不去做,永远不知道会有什么坑在等着你!

     杂谈就先到这里,继续爬坑!

  

     

posted @ 2016-06-17 16:32  菜牛一枚  阅读(133)  评论(0)    收藏  举报