亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

android ListView和ProgressBar(進度條控件)的使用方法

2020-04-11 12:00:44
字體:
來源:轉載
供稿:網友

ListView控件的使用:
ListView控件里面裝的是一行一行的數據,一行中可能有多列,選中一行,則該行的幾列都被選中,同時可以觸發一個事件,這種控件在平時還是用得很多的。
使用ListView時主要是要設置一個適配器,適配器主要是用來放置一些數據。使用起來稍微有些復雜,這里用的是android自帶的SimpleAdapter,形式如下:
android.widget.SimpleAdapter.SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)
由此可以看出函數的第2個參數為一個list,該list里面存放的是一些hashmap,hashmap是一些映射,里面放的是鍵值對;第3個參數為1個布局文件,即適配器輸出的布局;第4個參數為字符數組,數組的內容為參數list中map每列的列名;第5個參數為整型數組,其意思為第4個參數對應顯示的值的格式,一般為控件。
因為第3個參數為1個布局文件,所以我們該工程中我們需要再單獨添加一個xml文件。
同時我們要知道設置ListView的監聽器是用onListItemClick()函數。
另外還需注意的是在java中定義數組類型并初始化時中間不需要等號,例如
new String[]{"user_name", "user_birthday"}。

這次實驗的參考的是mars老師的資料.
ListView使用的顯示效果如下:

每次選中一行時在后臺會相應的輸出該行的位置和id,依次選中這三行.

后臺輸出為:


 
實驗代碼如下:
MainActivity.java:

復制代碼 代碼如下:

package com.example.control3;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;

public class MainActivity extends ListActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);

   //建立一個ArrayList,ArrayList里面放的是Hash表
   ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String,String>>();
   HashMap<String, String>map1 = new HashMap<String, String>();
   HashMap<String, String>map2 = new HashMap<String, String>();
   HashMap<String, String>map3 = new HashMap<String, String>();
   //給Hash表中填入鍵值對
   map1.put("user_name", "小紅");
   map1.put("user_birthday", "2012_07_30");
   map2.put("user_name", "小明");
   map2.put("user_birthday", "2012_07_31");
   map3.put("user_name", "小冬");
   map3.put("user_birthday", "2012_08_01");
   list.add(map1);
   list.add(map2);
   list.add(map3);
   //在該activity中創建一個簡單的適配器
   SimpleAdapter listAdapter = new SimpleAdapter(this, list,
   R.layout.activity_user, new String[]{
   "user_name", "user_birthday"}, new int[]
  {R.id.user_name, R.id.user_birthday});
   //載入簡單適配器
   setListAdapter(listAdapter);
    }

    //ListView監聽器響應函數
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
   // TODO Auto-generated method stub
   super.onListItemClick(l, v, position, id);
   System.out.println("id--------------------" +id);
   System.out.println("Position-------------" + position);
    }
}



activity_main.xml:
復制代碼 代碼如下:

<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"
>
    <LinearLayout
   android:id="@+id/listLinearLayout"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:orientation="vertical"
   >
  <ListView
   android:id="@id/android:list"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:drawSelectorOnTop="false"
   android:scrollbars="vertical"
  />
    </LinearLayout>
</LinearLayout>


activity_user.xml:
復制代碼 代碼如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:padding="10dip"
>
    <!--
    該布局文件時水平方向上2個TextView控件,并設置了其相應的屬性
-->
    <TextView
   android:id="@+id/user_name"
   android:layout_width="180dip"
   android:layout_height="30dip"
   android:textSize="10pt"
   android:singleLine="true"
   />
    <TextView
   android:id="@+id/user_birthday"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:textSize="10pt"
   android:gravity="right"
   />
</LinearLayout>


 
ProgressBar控件的使用
ProgressBar控件的使用比較簡單,在android開發中,其默認的形式是1個圓周型的進度條,也就是代表一直在等待,這時候是看不到實際上完成的進度的。所以在程序中我們可以設置進度條的形狀,比如呈水平或者垂直。界面中有1個按鈕,一開始時是看不到進度條的,當按下按鈕時,會彈出2個進度條,1個呈水平狀,一個還是圓形。且這2個進度條出現在按鈕的上面,為什么會這樣呢?因為這個activity布局中,采用的是線性布局,而那2個進度條是放在button的前面,只是一開始沒有設置顯示出來而已。繼續按進度條時,進度條會前進。且這里進度條顯示分為主進度條顯示和次進度條顯示。

實驗的結果如下:


MainActivity.java:
復制代碼 代碼如下:

package com.example.control2;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;

public class MainActivity extends Activity {

    private int i = 0;
    private ProgressBar bar1 = null;
    private ProgressBar bar2 = null;
    private Button button = null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   bar1 = (ProgressBar)findViewById(R.id.bar1);
   bar2 = (ProgressBar)findViewById(R.id.bar2);
   button = (Button)findViewById(R.id.btn);
   button.setOnClickListener(new MyButtonOnClickListener());

    }

    class MyButtonOnClickListener implements OnClickListener{

   public void onClick(View v) {
  if( 0 == i )
  {
 bar1.setVisibility(View.VISIBLE);
 bar2.setVisibility(View.VISIBLE);
  }
  else if( i < bar1.getMax() )
  {
 //設置主進度和次進度
 bar1.setProgress(i);
 bar1.setSecondaryProgress(i+10);
  }
  i+=10;
   }

    }
}



activity_main:
復制代碼 代碼如下:

<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"
    >

    <TextView
   android:id="@+id/textview"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="@string/china"
   />
    <ProgressBar
   android:id="@+id/bar1"
   style="?android:attr/progressBarStyleHorizontal"
   android:layout_width="fill_parent"
   android:layout_height="50dip"
   android:visibility="gone"
   />
    <ProgressBar
   android:id="@+id/bar2"
   style="?android:attr/progressBarStyle"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:visibility="gone"
   />
    <Button
   android:id="@+id/btn"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="@string/button"
    />  
</LinearLayout>



 總結:
通過這次實驗,對ListView和ProgressBar這2個進度條的使用有了個初步的了解,其中ListView進度條的使用需要用的到適配器,而視頻器的構造稍微有點復雜,需要對各個參數徹底的了解。

 作者:tornadomeet

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久综合国产精品台湾中文娱乐网| 伊人久久男人天堂| 日本不卡免费高清视频| 96pao国产成视频永久免费| 亚洲精品福利资源站| 热久久免费国产视频| 亚洲乱码一区av黑人高潮| 91精品国产乱码久久久久久久久| 97在线视频国产| 国产做受69高潮| 久久久成人精品| 精品亚洲夜色av98在线观看| 日韩av片永久免费网站| 国产精品久久久久秋霞鲁丝| 狠狠躁夜夜躁久久躁别揉| 国产精品对白刺激| 日韩精品视频在线免费观看| 亚洲精品久久视频| 国产精品视频区| 欧美主播福利视频| 欧美一级大胆视频| 久久国产精品影片| 日韩欧美有码在线| 亚洲精品在线观看www| 91av视频在线| 亚洲最大av网站| 国产suv精品一区二区三区88区| 亚洲无限乱码一二三四麻| 亚洲美女在线观看| 亚洲人成电影网站色| 国产精品视频内| 国产精品久久久久久影视| 久久久免费高清电视剧观看| 国产精品一区二区久久久| 亚洲japanese制服美女| 日韩av一区在线| 国产精品7m视频| 欧美激情在线有限公司| 国产亚洲欧洲高清一区| 成人久久18免费网站图片| 成人在线免费观看视视频| 欧美精品中文字幕一区| 狠狠躁夜夜躁久久躁别揉| 久久精品国产欧美亚洲人人爽| 国产亚洲精品久久久久久| 欧美日韩一区二区免费视频| 国产精品69精品一区二区三区| 久久人人爽人人爽人人片亚洲| 中文字幕日韩欧美精品在线观看| 亚洲精品小视频在线观看| 国产精品视频一| 欧美精品亚州精品| 日韩精品久久久久| 91精品国产色综合| 欧美电影第一页| 久久久91精品国产一区不卡| 日韩有码片在线观看| 欧美性资源免费| 国产精品精品一区二区三区午夜版| 国产欧美日韩精品丝袜高跟鞋| 国产999在线观看| 欧美剧在线观看| 成人情趣片在线观看免费| 欧洲亚洲免费在线| 97av在线视频| 久久理论片午夜琪琪电影网| 亚洲高清免费观看高清完整版| 日韩精品在线视频美女| 992tv在线成人免费观看| 日韩美女在线观看| 亚洲国产精品悠悠久久琪琪| 日本不卡视频在线播放| 精品国内亚洲在观看18黄| 亚洲女性裸体视频| 亚洲字幕一区二区| 中文字幕亚洲欧美一区二区三区| 国产精品久久久久久亚洲调教| 亚洲精品国偷自产在线99热| 色无极影院亚洲| 日韩美女免费视频| 日韩在线观看电影| 97视频免费看| 国产精品欧美亚洲777777| 亚洲欧美激情另类校园| 伊人激情综合网| 久久视频在线直播| 国产精品盗摄久久久| 成人国产精品日本在线| 国产一区香蕉久久| 在线观看中文字幕亚洲| 午夜精品一区二区三区在线播放| 日韩av观看网址| 亚洲国产日韩欧美在线图片| 亚洲激情电影中文字幕| 98精品在线视频| 亚洲美女视频网站| 成人在线国产精品| 色偷偷9999www| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美激情精品久久久久久变态| 国产精品视频久久久久| 日韩视频欧美视频| 久久久亚洲影院你懂的| 亚洲国产成人爱av在线播放| 国产精品欧美亚洲777777| 亚洲最大av在线| 日韩在线观看免费高清| 久久青草精品视频免费观看| 日韩电影视频免费| 久久综合色影院| 日韩欧美中文字幕在线观看| 色综合久久精品亚洲国产| 日韩中文字幕在线播放| 91最新国产视频| 欧美在线免费视频| 欧美视频在线视频| 国产91亚洲精品| 欧美怡红院视频一区二区三区| 久久久精品中文字幕| 国产91精品青草社区| 精品久久久久久中文字幕一区奶水| 欧美日韩国产成人| 91网站在线免费观看| 国产精品入口福利| 色播久久人人爽人人爽人人片视av| 亚洲韩国日本中文字幕| 欧美高清视频在线播放| 欧美日韩一区二区免费视频| 亚洲2020天天堂在线观看| 久久理论片午夜琪琪电影网| 日韩高清免费观看| 日韩中文字幕在线免费观看| 久久99热精品这里久久精品| 国产精品∨欧美精品v日韩精品| 青青a在线精品免费观看| 高跟丝袜一区二区三区| 永久免费精品影视网站| 欧美黑人极品猛少妇色xxxxx| 日本精品一区二区三区在线| 日韩在线一区二区三区免费视频| 欧美在线观看网址综合| 欧美性色19p| 欧美在线观看www| 国产国语videosex另类| 91香蕉嫩草神马影院在线观看| 伊人久久久久久久久久久久久| 国产精品自产拍在线观看中文| 亚洲夜晚福利在线观看| 国产精品成人一区| 中国china体内裑精亚洲片| 国产精品永久在线| 1769国内精品视频在线播放| 精品国产一区二区三区四区在线观看| 91精品视频在线免费观看| 最近的2019中文字幕免费一页| 亚洲黄色免费三级| 黑人狂躁日本妞一区二区三区| 2019中文字幕在线观看| 亚洲午夜精品久久久久久性色| 亚洲国产99精品国自产| 久久久久久久久久亚洲| 在线观看国产精品淫| 欧美日韩一区二区三区在线免费观看| 日本高清+成人网在线观看|