Android 列表视图

Android 列表视图_第1张图片 

第一步

value/strings.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <string name="hello">你选择了</string>
  4. <string name="app_name">高级控件</string>
  5. <string name="andy">Andy Rubin \nAndroid的创造者</string>
  6. <string name="bill">Bill Joy \nJava的创造者</string>
  7. <string name="edgar">Edgar F. Codd \n关系数据库之父</string>
  8. <string name="torvalds">Linus Torvalds \nLinux之父</string>
  9. <string name="turing">Turing Alan \nIT的祖师爷</string>
  10. <string name="ys">你选择了</string>
  11. </resources>

第二步

value/colors.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <color name="red">#fd8d8d</color>
  4. <color name="green">#9cfda3</color>
  5. <color name="blue">#8d9dfd</color>
  6. <color name="white">#FFFFFF</color>
  7. <color name="black">#000000</color>
  8. <color name="gray">#050505</color>
  9. </resources>

第三步

layout/list_view_layout.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. android:orientation="vertical"
  5. android:layout_width="wrap_content"
  6. android:layout_height="wrap_content">
  7. <TextView android:id="@+id/textview" 
  8. android:layout_width="fill_parent"
  9. android:layout_height="wrap_content"
  10. android:textSize="24dip"
  11. android:textColor="@color/white"
  12. android:text="@string/hello" />
  13. <ListView android:id="@+id/listview" 
  14. android:layout_width="fill_parent"
  15. android:layout_height="wrap_content"/>
  16. </LinearLayout>

第四步

ListViewActivity.java

  1. package com.taofu5;

  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.Gravity;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. import android.view.View.OnClickListener;
  8. import android.widget.AdapterView;
  9. import android.widget.BaseAdapter;
  10. import android.widget.Gallery;
  11. import android.widget.ImageView;
  12. import android.widget.LinearLayout;
  13. import android.widget.ListView;
  14. import android.widget.TextView;
  15. import android.widget.AdapterView.OnItemClickListener;
  16. import android.widget.AdapterView.OnItemSelectedListener;

  17. public class ListViewActivity extends Activity {

  18. int[] msgIds = {R.string.andy,R.string.bill,
  19. R.string.edgar, R.string.torvalds,R.string.turing};
  20. int[] imgIds = {R.drawable.andy, R.drawable.bill,
  21. R.drawable.edgar, R.drawable.torvalds, R.drawable.turing};

  22. public void onCreate(Bundle savedInstanceState) {
  23. super.onCreate(savedInstanceState);
  24. setContentView(R.layout.list_view_layout);

  25. ListView listView = (ListView) this.findViewById(R.id.listview);
  26. BaseAdapter adapter = new BaseAdapter() {

  27. @Override
  28. public int getCount() {
  29. return imgIds.length;
  30. }

  31. @Override
  32. public Object getItem(int arg0) {
  33. return null;
  34. }

  35. @Override
  36. public long getItemId(int arg0) {
  37. return 0;
  38. }

  39. @Override
  40. public View getView(int num, View view, ViewGroup group) {
  41. LinearLayout ll = new LinearLayout(ListViewActivity.this);
  42. ll.setOrientation(LinearLayout.HORIZONTAL);
  43. ll.setPadding(5, 5, 5, 5);

  44. ImageView imageView = new ImageView(ListViewActivity.this);
  45. imageView.setImageDrawable(getResources().getDrawable(imgIds[num]));
  46. imageView.setScaleType(ImageView.ScaleType.FIT_XY);
  47. imageView.setLayoutParams(new Gallery.LayoutParams(100, 98));
  48. ll.addView(imageView);

  49. TextView textView = new TextView(ListViewActivity.this);
  50. textView.setText(getResources().getText(msgIds[num]));
  51. textView.setTextSize(24);
  52. textView.setTextColor(
  53. ListViewActivity.this.getResources().getColor(R.color.blue));
  54. textView.setPadding(5, 5, 5, 5);
  55. textView.setGravity(Gravity.LEFT);
  56. ll.addView(textView);

  57. return ll;
  58. }

  59. };

  60. listView.setAdapter(adapter);

  61. listView.setOnItemSelectedListener(new OnItemSelectedListener() {

  62. @Override
  63. public void onItemSelected(AdapterView<?> adapter, View view,
  64. int num, long lnum) {
  65. TextView textView = (TextView) findViewById(R.id.textview);
  66. LinearLayout layout = (LinearLayout) view;
  67. TextView subTextView = (TextView)layout.getChildAt(1);
  68. StringBuilder strBuilder = new StringBuilder();
  69. strBuilder.append(getResources().getText(R.string.ys));
  70. strBuilder.append(":" + subTextView.getText());
  71. String stemp = strBuilder.toString();
  72. textView.setText(stemp.split("\\n")[0]);
  73. }

  74. @Override
  75. public void onNothingSelected(AdapterView<?> arg0) {

  76. }

  77. });

  78. listView.setOnItemClickListener(new OnItemClickListener() {

  79. @Override
  80. public void onItemClick(AdapterView<?> adapter, View view, int num,
  81. long lnum) {
  82. TextView textView = (TextView) findViewById(R.id.textview);
  83. LinearLayout layout = (LinearLayout) view;
  84. TextView subTextView = (TextView)layout.getChildAt(1);
  85. StringBuilder strBuilder = new StringBuilder();
  86. strBuilder.append(getResources().getText(R.string.ys));
  87. strBuilder.append(":" + subTextView.getText());
  88. String stemp = strBuilder.toString();
  89. textView.setText(stemp.split("\\n")[0]);
  90. }

  91. });

  92. }
  93. }

第五步:

AndroidManifest.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.taofu5"
  4. android:versionCode="1"
  5. android:versionName="1.0">
  6. <application android:icon="@drawable/icon" android:label="@string/app_name">
  7. <activity android:name=".ListViewActivity"
  8. android:label="@string/app_name">
  9. <intent-filter>
  10. <action android:name="android.intent.action.MAIN" />
  11. <category android:name="android.intent.category.LAUNCHER" />
  12. </intent-filter>
  13. </activity>

  14. </application>
  15. <uses-sdk android:minSdkVersion="7" />

  16. </manifest>
效果图 如下
Android 列表视图_第2张图片 

你可能感兴趣的:(android,ListView,String,layout,application,encoding)