慕课网-安卓攻城狮视频学习及练习(二)

图片相关界面组件
1)ImageView

 1 int[] imgid={R.drawable.niu,R.drawable.meng,R.drawable.hao,R.drawable.mengo};
 2 private Button button1,button2;
 3 private ImageView photo;
 4 int p=0;//图片索引
 5 int count=imgid.length;//一共有几张图片
 6     @Override
 7     protected void onCreate(Bundle savedInstanceState) {
 8         super.onCreate(savedInstanceState);
 9         setContentView(R.layout.activity_main);
10 
11         button1=(Button)findViewById(R.id.button1);
12         button2=(Button)findViewById(R.id.button2);
13         photo=(ImageView)findViewById(R.id.imageView1);
14 
15         button1.setOnClickListener(listener1);
16         button2.setOnClickListener(listener2);
17 
18     }
19     private Button.OnClickListener listener1=
20             new Button.OnClickListener() {
21 
22                 @Override
23                 public void onClick(View v) {
24                     p--;
25                     if (p<0)
26                         p=imgid.length-1;
27                     photo.setImageResource(imgid[p]);
28                     setTitle(""+(p+1)+"/"+count);
29 
30                 }
31             };
32             private Button.OnClickListener listener2=
33                     new Button.OnClickListener() {
34 
35                         @Override
36                         public void onClick(View v) {
37                             p++;
38                             if (p==count)
39                                 p=0;
40                             photo.setImageResource(imgid[p]);
41                             setTitle(""+(p+1)+"/"+count);
42 
43                         }
44                     };
45 
46 
47 }

慕课网-安卓攻城狮视频学习及练习(二)

慕课网-安卓攻城狮视频学习及练习(二)

2)有点小开心。终于知道如何调用onItemSelected()方法了,终于不用手输了:)gallery这部分的执行代码看不太懂,和当初的spinner是类同的。还是先研究一下这个触发机制吧。
参考慕课网 http://www.imooc.com/course/programdetail/pid/33

慕课网-安卓攻城狮视频学习及练习(二)

ListView界面组件
1.作用:创建选项列表,供用户从中选择,eg:短信、通讯录
2.
慕课网-安卓攻城狮视频学习及练习(二)
3.数据源是电视台,提供电视信号;电视则是视图界面,而中间的层层处理则是数据适配器,有了数据适配器,才能把正确的数据信号传送到正确的页面里。
4.
慕课网-安卓攻城狮视频学习及练习(二)

adapter数据适配器的使用

慕课网-安卓攻城狮视频学习及练习(二)

 1 private ListView listview;
 2 private TextView text;      
 3 String[] listdata=new String[]{"篮球","足球","棒球","其他"};
 4 
 5 
 6     @Override
 7     protected void onCreate(Bundle savedInstanceState) {
 8         super.onCreate(savedInstanceState);
 9         setContentView(R.layout.activity_main);
10 
11         //数据与视图的绑定,初始化
12         listview=(ListView)findViewById(R.id.listView1);
13         text=(TextView)findViewById(R.id.textView2);
14 
15 
16         //1.新建数据适配器
17         //2.适配器的三个参数:上下文,当前listview加载的每一个列表项所对应的布局文件(textview),适配器加载数据源
18 
19         ArrayAdapter<String > adapter=new ArrayAdapter<String>(
20                 this, android.R.layout.simple_list_item_1, listdata);
21 
22         //listview加载适配器
23         listview.setAdapter(adapter);
24 
25         //设置listview组件的监听器
26         listview.setOnItemClickListener(listener);
27     }
28   private ListView.OnItemClickListener listener=
29           new ListView.OnItemClickListener() {
30 
31     public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
32 
33          //四个参数:1,parent是触发的listview组件2,view是选择的选项3,position是触发选项的索引位置4,触发选项的ID
34 
35           String sel=parent.getSelectedItem().toString();
36           //不知道为什么,这里不能用getselectedItem(),一用就停止运行了
37           text.setText("我最喜欢的球类运动:"+sel);
38     }
39         };
40 
41 }

慕课网-安卓攻城狮视频学习及练习(二)