国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Android - Android通過(guò)LIstView顯示文件列表的兩種方法介紹

Android通過(guò)LIstView顯示文件列表的兩種方法介紹

2021-02-01 15:40Android開(kāi)發(fā)網(wǎng) Android

過(guò)ListView顯示SD卡中的文件列表一共有兩種方法,一是:通過(guò)繼承ListActivity顯示;二是:利用BaseAdapter顯示,具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下哈

在android中通過(guò)listview顯示sd卡中的文件列表一共有兩種方法,一是:通過(guò)繼承l(wèi)istactivity顯示;二是:利用baseadapter顯示。baseadapter是一個(gè)公共基類(lèi)適配器,用于對(duì)listview和spinner等 一些控件提供顯示數(shù)據(jù)。下面是利用baseadapter類(lèi)來(lái)實(shí)現(xiàn)通過(guò)listview顯示sd卡的步驟:

1.main.xml界面設(shè)計(jì),如下圖

復(fù)制代碼 代碼如下:


<?xml version="1.0" encoding="utf-8"?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<textview
android:id="@+id/txt_path"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<button
android:id="@+id/but_up"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="向上" />
<listview
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</listview>
</linearlayout>
main.xml


2.item.xml界面設(shè)計(jì),如下圖

復(fù)制代碼 代碼如下:


<?xml version="1.0" encoding="utf-8"?>
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativelayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<textview
android:id="@+id/txt_size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignparentright="true"
android:layout_alignparenttop="true"
android:text="textview" />
<imageview
android:id="@+id/image_ico"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignparentleft="true"
android:layout_below="@+id/txt_size"
android:layout_marginleft="18dp"
android:src="@drawable/folder" />
<textview
android:id="@+id/txt_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignbottom="@+id/image_ico"
android:layout_alignparentright="true"
android:text="textview" />
</relativelayout>
item.xml


Android通過(guò)LIstView顯示文件列表的兩種方法介紹 
效果圖main.xml
Android通過(guò)LIstView顯示文件列表的兩種方法介紹
效果圖item.xml
3.file_adter類(lèi)的實(shí)現(xiàn)

復(fù)制代碼 代碼如下:


package com.cqvie;
import java.io.file;
import java.util.linkedlist;
import java.util.list;
import android.app.activity;
import android.graphics.bitmap;
import android.graphics.bitmapfactory;
import android.view.view;
import android.view.viewgroup;
import android.widget.baseadapter;
import android.widget.imageview;
import android.widget.textview;
public class file_adter extends baseadapter {
public activity activity; //創(chuàng)建view時(shí)必須要提供context
public list<file> list=new linkedlist<file>(); //數(shù)據(jù)源(文件列表)
public string currpath;//當(dāng)前路徑
private bitmap bmp_folder,bmp_file;
public int getcount() {
// todo auto-generated method stub
return list.size();
}
public object getitem(int arg0) {
// todo auto-generated method stub
return null;
}
public long getitemid(int position) {
// todo auto-generated method stub
return position;
}
public view getview(int position, view arg1, viewgroup arg2) {
// todo auto-generated method stub
view v=view.inflate(activity,r.layout.item,null);
textview txt_name=(textview) v.findviewbyid(r.id.txt_name);
textview txt_size=(textview) v.findviewbyid(r.id.txt_size);
imageview img=(imageview) v.findviewbyid(r.id.image_ico);
file f=list.get(position);
txt_name.settext(f.getname());
txt_size.settext(getfilessize(f));
if(f.isdirectory())
img.setimagebitmap(bmp_folder);
else
img.setimagebitmap(bmp_file);
return v;
}
public void scanfiles(string path)
{
list.clear();
file dir=new file(path);
file[] subfiles=dir.listfiles();
if(subfiles!=null)
for(file f:subfiles)
list.add(f);
this.notifydatasetchanged();
currpath=path;
}
public file_adter(activity activity)
{
this.activity=activity;
bmp_folder=bitmapfactory.decoderesource(activity.getresources(),r.drawable.folder);//文件夾,decoderesource圖片解碼,source資源,解碼為bitmap類(lèi)型;
bmp_file=bitmapfactory.decoderesource(activity.getresources(),r.drawable.file);//文件
}
public static string getfilessize(file f)
{
int sub_index=0;
string show="";
if(f.isfile())
{
long length=f.length();
if(length>=1073741824)
{
sub_index=string.valueof((float)length/1073741824).indexof(".");
show=((float)length/1073741824+"000").substring(0,sub_index+3)+"gb";
}
else if(length>=1048576)
{
sub_index=(string.valueof((float)length/1048576)).indexof(".");
show=((float)length/1048576+"000").substring(0,sub_index+3)+"gb";
}
else if(length>=1024)
{
sub_index=(string.valueof((float)length/1024)).indexof(".");
show=((float)length/1024+"000").substring(0,sub_index+3)+"gb";
}
else if(length<1024)
show=string.valueof(length)+"b";
}
return show;
}
}
file_adter.java


4.file_listactivity的實(shí)現(xiàn)

復(fù)制代碼 代碼如下:


package com.cqvie;
import java.io.file;
import android.app.activity;
import android.os.bundle;
import android.view.view;
import android.view.view.onclicklistener;
import android.widget.adapterview;
import android.widget.adapterview.onitemclicklistener;
import android.widget.button;
import android.widget.listview;
import android.widget.textview;
public class file_listactivity extends activity implements onitemclicklistener, onclicklistener {
/** called when the activity is first created. */
@override
public void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.main);
list_view=(listview) findviewbyid(r.id.list_view);
but_up=(button) findviewbyid(r.id.but_up);
txt_path=(textview) findviewbyid(r.id.txt_path);
file_adter adter=new file_adter(this);
list_view.setadapter(adter);
list_view.setonitemclicklistener(this);
adter.scanfiles("/");
but_up.setonclicklistener(this);
}
listview list_view;
textview txt_path;
button but_up;
public void onclick(view v) {
// todo auto-generated method stub
file_adter ad=(file_adter) list_view.getadapter();
if(ad.currpath.equals("/")) return;
file f=new file(ad.currpath);
txt_path.settext(f.getparent());
ad.scanfiles(f.getparent());
}
public void onitemclick(adapterview<?> parent, view v, int positiong, long id) {
// todo auto-generated method stub
file_adter da=(file_adter) list_view.getadapter();
file f=da.list.get(positiong);
if(f.isdirectory())
{
txt_path.settext(f.getpath());
da.scanfiles(f.getpath());
}
}
}
file_listactivity.java


Android通過(guò)LIstView顯示文件列表的兩種方法介紹
效果圖展示 
總結(jié)
在做這個(gè)file_adter的時(shí)候,需要注意的有三點(diǎn),一是在新建文件列表類(lèi)的時(shí)候要繼承baseadapter,并且一定不要勾選主方法。二是要在res\drawable-hdpi中添加用于顯示文件和文件夾的圖片。三是在item.xml的設(shè)計(jì)時(shí)需把change layout中new layout type的值設(shè)為linearlayout,這樣就方便我們隨意放置imageview和textview的位置,從而有利于軟件的美觀。第一次做這個(gè)顯示sd卡中的文件列表時(shí)就失敗了,后來(lái)就不愛(ài)去碰它,不愛(ài)去解決這個(gè)問(wèn)題。導(dǎo)致這個(gè)問(wèn)題一直沒(méi)有解決,后來(lái)是迫于考試沒(méi)法就去重新做,才發(fā)現(xiàn)其實(shí)沒(méi)有什么問(wèn)題,一直做下來(lái)都很順暢。這使我明白了可怕的不是問(wèn)題,而是沒(méi)有去解決問(wèn)題的恒心和懶惰的心理。其實(shí)有的問(wèn)題它其實(shí)只是很簡(jiǎn)單的問(wèn)題只要輕輕松松的就解決了,而不是什么重大的問(wèn)題。在日常生活和學(xué)習(xí)中我們應(yīng)該簡(jiǎn)單的看待問(wèn)題。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 日韩在线视频观看 | 国产精品久久久久久久久久免费 | 久久综合久久综合久久综合 | 九九99 | 国产精品毛片久久久久久久 | 久久久久99精品国产片 | 成人h动漫精品一区二区器材 | 成人一区二区三区 | 国产精品一区二区免费 | 色九九| 先锋影音男人 | 欧美一区二区三区四区五区 | 亚洲激情在线 | 国内精品视频一区二区三区八戒 | 欧美精品一区二区三区在线 | 日韩免费电影 | 日韩精品无码一区二区三区 | 久久久91精品国产一区二区三区 | 国产欧美在线观看 | 精品无码久久久久国产 | 亚洲电影在线观看 | 麻豆av电影在线观看 | 羞羞视频在线免费 | 网站av | 亚洲成人福利 | 黄色网页免费看 | 自拍亚洲 | 久久99这里只有精品 | 日韩一区二区三区视频 | 久久成人中文字幕 | 久久国产高清 | 国产精品成人在线视频 | 韩日av在线 | av午夜电影 | 国产一区免费视频 | 久久久久久香蕉 | 久久久精品观看 | 亚洲va欧美va人人爽成人影院 | 亚洲视频在线观看 | 色.com| 久久久久久这里只有精品 |