編輯:關於Android編程
android之ListView
ListView是android中比較常見並較為復雜的控件之一,它既有默認的模式,又可以實現自定義,通過該控件,可以使UI交互更加多樣化,更加方便。
實現過程分為三步:
在activity的layout中設置ListView控件,設置控件Id為 list; 新建一個Layout的XML文件,在當中設置每一個條目的模式; 在代碼中創建一個List的Hashmap對象,以條目名稱為key,存入每一個條目中的內容; 創建一個SimpleAdapter對象,將創建的List對象作為資源,新建的Layout作為參數,還有一個字符串數組,與一個int型數組的參數。設置adapter即可。代碼如下:
/*
* 在onResume方法中設置ListView
*/
protected void onResume() {
super.onResume();
List> list = new ArrayList>();
// 通過工具欄FileUtils中的方法,得到本地文件的文件名與大小,顯示在ListView中
FileUtils fileUtils = new FileUtils();
infos = new ArrayList();
infos = fileUtils.getFileInfo("mp3/");
// 將從本地文件夾中得到的MP3信息存入list中
for (Iterator iterator = infos.iterator(); iterator.hasNext();) {
Mp3Info mp3Info = (Mp3Info) iterator.next();
HashMap map = new HashMap();
map.put("mp3_name", mp3Info.getMp3name());
map.put("mp3_size", mp3Info.getMa3size());
list.add(map);
}
// 設置這個simpleAdapter
SimpleAdapter simpleAdapter = new SimpleAdapter(this, list, R.layout.mp3info_item,
new String []{"mp3_name","mp3_size"}, new int [] {R.id.mp3_name,R.id.mp3_size});
setListAdapter(simpleAdapter);
}
這是最簡單的listView的使用方式,listView還可以設置更多的屬性,條目裡可以有button,imageView等各種控件,只要在設置adapter當中的那個布局文件中設定這些控件,然後在字符數組中寫上這些控件的id,整型數組中依次寫上這些控件在R文件中的編號就好。
簡單的Layout文件
在listView中,每一個條目是可以有點擊響應事件的,點擊某個條目,類似於點擊一個button,為其設置點擊響應事件就可以了。
/**
* ListView的點擊響應事件,將點擊的條目信息傳遞到新的播放界面的Activity中
*/
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Mp3Info mp3Info = infos.get(position);
Log.i("Local", mp3Info.toString());
Intent playerintent = new Intent();
playerintent.putExtra("mp3Info", mp3Info);
playerintent.setClass(LocalMp3ListActivity.this, PlayerActivity.class);
startActivity(playerintent);
}
}
復寫ListView的onListItemClick的函數就可以了,函數傳入的參數有點擊的條目中的控件id,是哪個控件,還有該條目在ListView中的順序。根據我們的需要選擇合適的參數使用,就可以達到我們想要的響應目的。
在主界面中設置的Layout。
一、為什麼要使用異步任務類? Handler模式需要為每一個任務創建一個新的線程,任務完成後通過Handler對象向UI線程發送消息,完成界面的更新, 這種方式對整
如果對Canvas繪圖不熟悉,強烈建議您閱讀博文《Android中Canvas繪圖基礎詳解(附源碼下載)》,該文對Android中的Canvas繪圖基礎進行了詳細的描述。
流行的應用的導航一般分為兩種,一種是底部導航,一種是側邊欄。說明IDE:AS,Android studio;模擬器:genymotion;實現的效果,見下圖。具體實現為了
使用gradle構建android應用時,你總是需要這樣一個文件:build.gradle。你應該已經看過這個文件了,如果沒有看過的話,你現在就可以看一下,它沒有多少內容