1 package com.example.flexd10;
2
3 import android.os.Bundle;
4 import android.app.Activity;
5 import android.util.Log;
6 import android.view.Gravity;
7 import android.view.Menu;
8 import android.view.View;
9 import android.widget.AdapterView;
10 import android.widget.AdapterView.OnItemClickListener;
11 import android.widget.AdapterView.OnItemSelectedListener;
12 import android.widget.ArrayAdapter;
13 import android.widget.LinearLayout;
14 import android.widget.LinearLayout.LayoutParams;
15 import android.widget.ListView;
16 import android.widget.TextView;
17 import android.widget.Toast;
18
19 /**
20 * 1.代码中新建LinearLayout、TextView、ListView
21 * 2.ListView事件监听
22 */
23 public class MainActivity extends Activity {
24
25 private String[] strArray = new String[]{"A","B","C","D","E","F","G","H","I"};
26 ListView listView1;
27 LinearLayout linearLayout1;
28 TextView tv1;
29
30
31 @Override
32 protected void onCreate(Bundle savedInstanceState) {
33 super.onCreate(savedInstanceState);
34 //setContentView(R.layout.activity_main);
35
36 //linearLayout
37 linearLayout1 = new LinearLayout(this);
38 linearLayout1.setOrientation(LinearLayout.VERTICAL);
39 linearLayout1.setBackgroundColor(android.graphics.Color.GREEN);
40
41 //对齐方式
42 LinearLayout.LayoutParams params = new LayoutParams(
43 LinearLayout.LayoutParams.MATCH_PARENT,
44 LinearLayout.LayoutParams.WRAP_CONTENT);
45
46 //TextView
47 tv1 = new TextView(this);
48 tv1.setText("Hey");
49 tv1.setTextColor(android.graphics.Color.YELLOW);
50 //tv1.setGravity(Gravity.CENTER_HORIZONTAL);
51 tv1.setGravity(Gravity.BOTTOM);
52 //add
53 linearLayout1.addView(tv1,params);
54
55 //listView
56 listView1 = new ListView(this);
57 listView1.setBackgroundColor(android.graphics.Color.LTGRAY);
58 //add
59 linearLayout1.addView(listView1,params);
60
61 //ContentView
62 setContentView(linearLayout1);
63
64 //Adapter
65 ArrayAdapter arrayAdapter = new ArrayAdapter<String>(this,
66 android.R.layout.simple_list_item_checked, strArray);// R.layout.list_item
67 //set
68 listView1.setAdapter(arrayAdapter);
69 listView1.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
70
71 /**
72 * ItemClick
73 */
74 listView1.setOnItemClickListener(new OnItemClickListener() {
75
76 @Override
77 public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
78 long arg3) {
79 // TODO Auto-generated method stub
80 Log.i("ItemClick",strArray[arg2]);
81 tv1.setText(strArray[arg2]);
82 Toast.makeText(MainActivity.this, strArray[arg2], Toast.LENGTH_LONG).show();
83 }
84 });
85
86 /**
87 * ItemSelected 据说在触屏手机上没有效果的?
88 */
89 listView1.setOnItemSelectedListener(new OnItemSelectedListener() {
90
91 @Override
92 public void onItemSelected(AdapterView<?> arg0, View arg1,
93 int arg2, long arg3) {
94 // TODO Auto-generated method stub
95 Log.i("ItemSelected",strArray[arg2]);
96 Log.i("ItemSelected",arg0.getSelectedItem().toString());
97 tv1.setText(strArray[arg2]);
98 tv1.setText(arg0.getSelectedItem().toString());
99 }
100
101 @Override
102 public void onNothingSelected(AdapterView<?> arg0) {
103 // TODO Auto-generated method stub
104 tv1.setText("None");
105 }
106 });
107
108 }
109
110 @Override
111 public boolean onCreateOptionsMenu(Menu menu) {
112 // Inflate the menu; this adds items to the action bar if it is present.
113 getMenuInflater().inflate(R.menu.activity_main, menu);
114 return true;
115 }
116
117 }