日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

            歡迎訪問 生活随笔!

            生活随笔

            當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

            编程问答

            android之常用知识点(一)

            發布時間:2024/7/23 编程问答 25 豆豆
            生活随笔 收集整理的這篇文章主要介紹了 android之常用知识点(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

            本文主要包括安卓一些常用的知識點

          1. android常用的四種響應按鈕點擊事件的方法
          2. android動態刷新界面
          3. android常用的listView用法
          4. android常用的handler的用法
          5. android常用的四種響應按鈕點擊事件的方法有

            1.內部類

            2.匿名內部類

            3.布局文件夾定義Onclick屬性,并在activity中聲明方法

            4.在主類中實現OncickListener接口,并在主類中實現未實現的方法

            1.內部類

            btnButton.setOnClickListener(new MyListener()); class MyListener implements OnClickListener { @Override public void onClick(View v) { System.out.println("內部類響應點擊事件"); } }

            2.匿名內部類

            btnButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { System.out.println("匿名內部類響應按鈕點擊事件"); } });

            3.布局文件夾定義Onclick屬性,并在activity中聲明方法
            定義Onclick屬性

            <Button android:id="@+id/loginButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="btnOnClick" android:layout_alignParentRight="true" android:text="登入" /> 聲明 "btnOnClick"方法 [java] view plain copy 在CODE上查看代碼片派生到我的代碼片 public void btnOnClick(View v) { System.out.println("定義屬性響應按鈕點擊事件"); }

            4.在主類中實現OncickListener接口,并在主類中實現未實現的方法

            btnButton.setOnClickListener(this); public class MainActivity extends Activity implements OnClickListener @Override public void onClick(View v) { // TODO Auto-generated method stub }

            動態刷新界面實現

            第一步:定義一個LinearLayout作為將來加載的條目的容器

            <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity" ><Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="onClick"android:text="添加" /><ScrollView android:layout_width="fill_parent"android:layout_height="fill_parent" ><LinearLayout android:id="@+id/ll"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ></LinearLayout></ScrollView></LinearLayout>

            第二步:定義textView并加入到容器中

            public class MainActivity extends Activity {private LinearLayout llGroup;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);llGroup = (LinearLayout) findViewById(R.id.ll);}public void onClick(View view) {// 添加一個TextView向llGroup// 定義一個textview對象TextView tv = new TextView(this);tv.setText("張三   女   34");// 把textview對象添加到linearlayout中llGroup.addView(tv);} }

            listView實現

            listView是安卓中一種常用的控件,有以下三種實現方法

          6. simpeAdapter
          7. SimpleAdapter adapter = new SimpleAdapter(this, // 上下文data, // listView綁定的數據R.layout.listview_item, // listview的子條目的布局的idnew String[]{"name", "icon"}, // data數據中的map集合里的keynew int[]{R.id.tv_name, R.id.iv_icon}); // resource 中的idmListView.setAdapter(adapter);

            其中data是ArrayList類型的數據,里面存儲了map類型的數據,有兩個鍵name,incon

            List<Map<String, Object>> data =ArrayList<Map<String,Object>>(); Map<String, Object> map = new HashMap<String, Object>();map = new HashMap<String, Object>();map.put("name", "張三5");map.put("icon", R.drawable.f007);data.add(map);
          8. arrayAdapter
          9. ListView mListView = (ListView) findViewById(R.id.listview);String[] textArray = {"功能1","功能2","功能3","功能4","功能5","功能6","功能7","功能8"};/** 定義數據適配器* android.R.layout.simple_list_item_1 Listview的子條目顯示的布局的id* textArray 顯示在ListView列表中的數據*/ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, textArray);mListView.setAdapter(adapter);
          10. 最常見的繼承baseAdapter
            在oncreate方法中
          11. ListView mListView = (ListView) findViewById(R.id.listview);PersonDao dao = new PersonDao(this);personList = dao.queryAll();// 把view層對象ListView和控制器BaseAdapter關聯起來mListView.setAdapter(new MyAdapter());``` ### anapter實現```/*** @author andong* 數據適配器*/class MyAdapter extends BaseAdapter {private static final String TAG = "MyAdapter";/*** 定義ListView的數據的長度*/@Overridepublic int getCount() {return personList.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}/*** 此方法返回的是ListView的列表中某一行的View對象* position 當前返回的view的索引位置* convertView 緩存對象* parent 就是ListView對象*/@Overridepublic View getView(int position, View convertView, ViewGroup parent) {TextView tv = null;if(convertView != null) { // 判斷緩存對象是否為null, 不為null時已經緩存了對象Log.i(TAG, "getView: 復用緩存" + position);tv = (TextView) convertView;} else { // 等于null, 說明第一次顯示, 新創建Log.i(TAG, "getView: 新建" + position);tv = new TextView(MainActivity.this);}tv.setTextSize(25);Person person = personList.get(position); // 獲得指定位置的數據, 進行對TextView的綁定tv.setText(person.toString());return tv;}}

            在listView中展示的控件也可以是自定義的

            /*** 此方法返回的是ListView的列表中某一行的View對象* position 當前返回的view的索引位置* convertView 緩存對象* parent 就是ListView對象*/@Overridepublic View getView(int position, View convertView, ViewGroup parent) {View view = null;if(convertView == null) {// 布局填充器對象, 用于把xml布局轉換成view對象LayoutInflater inflater = MainActivity2.this.getLayoutInflater();view = inflater.inflate(R.layout.listview_item, null);} else {view = convertView;}// 給view中的姓名和年齡賦值TextView tvName = (TextView) view.findViewById(R.id.tv_listview_item_name);TextView tvAge = (TextView) view.findViewById(R.id.tv_listview_item_age);Person person = personList.get(position);tvName.setText("姓名: " + person.getName());tvAge.setText("年齡: " + person.getAge());return view;}

            handler實現

          12. 定義一個消息接收器
          13. /*** 接收消息*/@Overridepublic void handleMessage(Message msg) {switch (msg.what) {case SUCCESS: // 訪問成功, 有數據// 給Listview列表綁定數據newInfoList = (List<NewInfo>) msg.obj;MyAdapter adapter = new MyAdapter();lvNews.setAdapter(adapter);break;case FAILED: // 無數據Toast.makeText(MainActivity.this, "當前網絡崩潰了.", 0).show();break;default:break;}}};
          14. 定義一個子線程發送消息
          15. private void init() {lvNews = (ListView) findViewById(R.id.lv_news);// 抓取新聞數據new Thread(new Runnable() {@Overridepublic void run() {// 獲得新聞集合List<NewInfo> newInfoList = getNewsFromInternet();Message msg = new Message();if(newInfoList != null) {msg.what = SUCCESS;msg.obj = newInfoList;} else {msg.what = FAILED;}handler.sendMessage(msg);}}).start();}

            完成

            創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

            總結

            以上是生活随笔為你收集整理的android之常用知识点(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

            如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。