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

manifest
这里写图片描述
A跳转B,在B的文件中用permission权限,然后A就无权跳转到B,如果在A中用uses-permission把权限给了A,那么A就可以跳转到B了.可以通俗的说,permission给B了一把锁,A要进门,就要用uses-permission得到一把钥匙.

onitemclicklister+onscrolllistner
这里写图片描述
这里写图片描述

 1 public class FActivity extends Activity implements OnItemClickListener,OnScrollListener{
 2     private ListView lv;
 3     private SimpleAdapter sim_adapter;
 4     private List<Map<String, Object>> datalist;
 5     @Override
 6 protected void onCreate(Bundle savedInstanceState) {
 7     // TODO Auto-generated method stub
 8     super.onCreate(savedInstanceState);
 9     setContentView(R.layout.factivity);
10 
11     lv=(ListView) findViewById(R.id.listView1);
12     sim_adapter =new SimpleAdapter(this, getdata(), R.layout.item, new String[]{"pic","text"}, new int[]{R.id.imageView1,R.id.textView1});
13 
14     lv.setAdapter(sim_adapter);
15     lv.setOnItemClickListener(this);
16     lv.setOnScrollListener(this);
17 
18 }
19 private List<Map<String, Object>> getdata(){
20     datalist =new ArrayList<Map<String,Object>>();  
21     for (int i=0;i<10;i++)
22     {
23     Map<String, Object> map = new HashMap<String, Object>();
24     map.put("pic", R.drawable.ic_launcher);
25     map.put("text", "慕课网"+i);
26     datalist.add(map);
27     }
28   return datalist;
29 }
30 @Override
31 public void onScrollStateChanged(AbsListView view, int scrollState) {
32     switch (scrollState) {
33     case SCROLL_STATE_FLING:
34         Map<String, Object> map =new HashMap<String, Object>();
35         map.put("pic", R.drawable.ic_launcher);
36         map.put("text", "增加item");
37         datalist.add(map);
38         sim_adapter.notifyDataSetChanged();
39         break;
40     case SCROLL_STATE_IDLE:
41 
42         break;
43     case SCROLL_STATE_TOUCH_SCROLL:
44 
45         break;
46 
47     default:
48         break;
49     }
50 
51 }
52 @Override
53 public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
54     // TODO 自动生成的方法存根
55 
56 }
57 
58 @Override
59 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
60     String text=lv.getItemAtPosition(position)+"";
61     Toast.makeText(this, "位置:"+position+"text="+text, Toast.LENGTH_SHORT)
62     .show();
63 
64 }
65 }

**Picker:选择器
DatePicker日历选择器
Timepicker时间选择器**
这里写图片描述

 1 public class FActivity extends Activity {
 2     private TimePicker tp;
 3     private DatePicker dp;
 4     private Calendar cal;
 5     int year;
 6     int month;
 7     int day;
 8     int hour;
 9     int minute;
10 
11     @Override
12 protected void onCreate(Bundle savedInstanceState) {
13     // TODO Auto-generated method stub
14     super.onCreate(savedInstanceState);
15     setContentView(R.layout.factivity);
16 
17     cal=Calendar.getInstance();//生成日历类的对象实例
18     year=cal.get(Calendar.YEAR);
19     month=cal.get(Calendar.MONTH)+1;//注意唯一例外是month需要+1
20     day=cal.get(Calendar.DAY_OF_MONTH);
21     hour=cal.get(Calendar.HOUR_OF_DAY);
22     minute=cal.get(Calendar.MINUTE);
23     setTitle(year+"-"+month+"-"+day+" "+hour+":"+minute);
24 
25     tp=(TimePicker) findViewById(R.id.timePicker1);
26     dp=(DatePicker) findViewById(R.id.datePicker1);
27     dp.init(year, Calendar.MONTH, day, new OnDateChangedListener() {
28 
29         @Override
30         public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
31             setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth+" "+hour+":"+minute);
32 
33 
34         }
35     });
36     tp.setOnTimeChangedListener(new OnTimeChangedListener() {
37 
38         @Override
39         public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
40 
41             setTitle(year+"-"+month+"-"+day+" "+hourOfDay+":"+minute);
42         }
43     });
44 }
45 
46 
47 }

注意month的加减一问题。
datepicker需要用init()方法,在方法中调用监听器,而时间选择器直接调用监听器。

dialog形式
这里写图片描述

匿名内部类实现。

 1 //参数callback是监听器
 2     new DatePickerDialog(this, new OnDateSetListener() {
 3 
 4         @Override
 5         public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
 6             setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth+" "+hour+":"+minute);
 7 
 8         }
 9     }, year, cal.get(Calendar.MONTH), day).show();
10 
11     new  TimePickerDialog(this, new OnTimeSetListener() {
12 
13         @Override
14         public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
15             setTitle(year+"-"+month+"-"+day+" "+hourOfDay+":"+minute);
16 
17         }
18     }, hour, minute, true);
19 }
这里写图片描述

gridview
这里写图片描述

 1 public class FActivity extends Activity implements OnItemClickListener{
 2     private GridView gv;
 3     private SimpleAdapter sim_adapter;
 4     private List<Map<String, Object>> datalist; 
 5     int[] iconid={R.drawable.calculate,R.drawable.calendar,R.drawable.clock,
 6             R.drawable.contact,R.drawable.message,R.drawable.money,R.drawable.notebook,
 7             R.drawable.rest,R.drawable.setting,R.drawable.studyhat,R.drawable.trashbox,
 8             R.drawable.weightscale};
 9     String[] iconname={"calculate","calendar","clock","contact","message","money",
10             "notebook","rest","setting","studyhat","trashbox","weightscale"};   
11     @Override
12 protected void onCreate(Bundle savedInstanceState) {
13     // TODO Auto-generated method stub
14     super.onCreate(savedInstanceState);
15     setContentView(R.layout.factivity);
16 
17 
18 datalist=new ArrayList<Map<String,Object>>();
19 
20     gv=(GridView) findViewById(R.id.gridView1);
21     sim_adapter=new SimpleAdapter(this, getdata(), R.layout.item, new String[]{"pic","text"}, new int[]{R.id.imageView1,R.id.textView1});
22     gv.setAdapter(sim_adapter);
23 
24     gv.setOnItemClickListener(this);
25 }
26 
27 private List<Map<String, Object>> getdata() {
28 
29         for (int i=0;i<iconid.length;i++){
30             Map<String, Object> map=new HashMap<String, Object>();
31             map.put("pic", iconid[i]);
32             map.put("text", iconname[i]);
33             datalist.add(map);
34         }
35 
36 
37         return datalist;
38 
39 
40     }
41 
42 @Override
43 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
44     Toast.makeText(this, "我是"+iconname[position], Toast.LENGTH_SHORT).show();
45 
46 }
47 
48 
49 
50 
51 }

spinner

 1 public class FActivity extends Activity implements OnItemSelectedListener{
 2     private TextView txt;
 3     private Spinner spin;
 4     private List<String> list;
 5     private ArrayAdapter<String> arr_adapter;
 6     @Override
 7 protected void onCreate(Bundle savedInstanceState) {
 8     // TODO Auto-generated method stub
 9     super.onCreate(savedInstanceState);
10     setContentView(R.layout.factivity);
11 
12     txt=(TextView) findViewById(R.id.textView1);
13     spin=(Spinner) findViewById(R.id.spinner1);
14     list=new ArrayList<String>();
15     list.add("北京");
16     list.add("上海");
17     list.add("广州");
18     list.add("深圳");
19     arr_adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
20     arr_adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
21     spin.setAdapter(arr_adapter);
22     spin.setOnItemSelectedListener(this);
23 
24 }
25 
26     @Override
27     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
28     String cityname=arr_adapter.getItem(position);
29 //  String name =list.get(position);
30     txt.setText("我选择居住在:"+cityname);
31 
32     }
33     @Override
34     public void onNothingSelected(AdapterView<?> parent) {
35         // TODO 自动生成的方法存根
36 
37     }
38 
39 }
原文地址:https://www.cnblogs.com/twomeng/p/9476292.html