zoukankan      html  css  js  c++  java
  • BaseAdapter

    作者通过Java代码来实现布局,而我习惯通过.xml文件来实现,所以我对程序做了如下修改

    MainActivity.java

    1. public class MainActivity extends Activity
    2. {
    3. ListView myList;
    4. TextView textView;
    5. LayoutInflater inflater=null;
    6. @Override
    7. public void onCreate(Bundle savedInstanceState)
    8. {
    9. super.onCreate(savedInstanceState);
    10. setContentView(R.layout.activity_main1);
    11. myList = (ListView) findViewById(R.id.myList);
    12. BaseAdapter adapter = new BaseAdapter()
    13. {
    14. @Override
    15. public int getCount()
    16. {
    17. // 指定一共包含40个选项
    18. return 40;
    19. }
    20. @Override
    21. public Object getItem(int position)
    22. {
    23. return null;
    24. }
    25. // 重写该方法,该方法的返回值将作为列表项的ID
    26. @Override
    27. public long getItemId(int position)
    28. {
    29. return position;
    30. }
    31. // 重写该方法,该方法返回的View将作为列表框
    32. @Override
    33. public View getView(int position, View convertView , ViewGroup parent)
    34. {
    35. // 创建一个LinearLayout,并向其中添加两个组件 Java代码
    36. // LinearLayout line = new LinearLayout(MainActivity.this);
    37. // line.setOrientation(0);
    38. // ImageView image = new ImageView(MainActivity.this);
    39. // image.setImageResource(R.drawable.tiger);
    40. // TextView text = new TextView(MainActivity.this);
    41. // text.setText("" + (position +1 ) + "个列表项");
    42. // text.setTextSize(20);
    43. // text.setTextColor(Color.RED);
    44. // line.addView(image);
    45. // line.addView(text);
    46. inflater = LayoutInflater.from(MainActivity.this);
    47. if (convertView == null) {
    48. convertView = inflater.inflate(R.layout.linearlayout1,null);
    49. }
    50. textView = (TextView) convertView.findViewById(R.id.tex);
    51. textView.setText("" + (position +1 ) + "个列表项");
    52. // 返回LinearLayout实例
    53. return convertView;
    54. }
    55. };
    56. myList.setAdapter(adapter);
    57. }
    58. }

    XML文件

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3. android:orientation="vertical"
    4. android:layout_width="match_parent"
    5. android:layout_height="match_parent">
    6. <ListView
    7. android:id="@+id/myList"
    8. android:layout_width="match_parent"
    9. android:layout_height="match_parent"/>
    10. </LinearLayout>

    linearlayout1.xml

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3. android:orientation="horizontal"
    4. android:layout_width="match_parent"
    5. android:layout_height="match_parent">
    6.  
    7. <ImageView
    8. android:id="@+id/img"
    9. android:src="@drawable/tiger"
    10. android:layout_width="wrap_content"
    11. android:layout_height="wrap_content"/>
    12.  
    13. <TextView
    14. android:id="@+id/tex"
    15.  
    16. android:textSize="20dp"
    17. android:textColor="@android:color/holo_red_light"
    18. android:layout_width="wrap_content"
    19. android:layout_height="wrap_content"/>
    20.  
    21.  
    22. </LinearLayout>

    效果:

  • 相关阅读:
    lintcode:previous permutation上一个排列
    lintcode : 二叉树的序列化和反序列化
    lintcode : find peak element 寻找峰值
    lintcode 中等题:搜索旋转排序数组II
    lintcode :搜索旋转排序数组
    lintcode: search for a range 搜索区间
    lintcode:最大子数组差
    lintcode:最大子数组II
    lintcode :最大子数组
    lintcode : 平衡二叉树
  • 原文地址:https://www.cnblogs.com/wwjldm/p/6929437.html
Copyright © 2011-2022 走看看