安卓(Android)ListView 顯示圖片文字
更新時間:2016年07月06日 11:48:27 投稿:lqh
本文主要介紹Android中重要組件ListView,在編程中經(jīng)常會用到ListView 顯示圖片和文字,這里給大家一個小例子,希望能幫助有需要的同學
一.代碼實現(xiàn)
1. “Activity_11\src\yan\activity_11\MainActivity.java”
package yan.activity_11;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
ListView listView;
String [] titles={"標題1","標題2","標題3","標題4"};
String [] texts={"文本內(nèi)容A","文本內(nèi)容B","文本內(nèi)容C","文本內(nèi)容D"};
int [] resIds={R.drawable.icon,R.drawable.icon,R.drawable.icon,R.drawable.icon};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.setTitle("BaseAdapter for ListView");
listView=(ListView)this.findViewById(R.id.MyListView);
listView.setAdapter(new ListViewAdapter(titles,texts,resIds));
}
public class ListViewAdapter extends BaseAdapter{
View [] itemViews;
public ListViewAdapter(String [] itemTitles, String [] itemTexts,
int [] itemImageRes){
itemViews = new View[itemTitles.length];
for (int i=0; i<itemViews.length; ++i){
itemViews[i] = makeItemView(itemTitles[i], itemTexts[i],
itemImageRes[i]);
}
}
public int getCount() {
return itemViews.length;
}
public View getItem(int position) {
return itemViews[position];
}
public long getItemId(int position) {
return position;
}
private View makeItemView(String strTitle, String strText, int resId) {
LayoutInflater inflater = (LayoutInflater)MainActivity.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// 使用View的對象itemView與R.layout.item關(guān)聯(lián)
View itemView = inflater.inflate(R.layout.listview_item, null);
// 通過findViewById()方法實例R.layout.item內(nèi)各組件
TextView title = (TextView)itemView.findViewById(R.id.itemTitle);
title.setText(strTitle);
TextView text = (TextView)itemView.findViewById(R.id.itemText);
text.setText(strText);
ImageView image = (ImageView)itemView.findViewById(R.id.itemImage);
image.setImageResource(resId);
return itemView;
}
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null)
return itemViews[position];
return convertView;
}
}
}
2.package yan.activity_11;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
ListView listView;
String [] titles={"標題1","標題2","標題3","標題4"};
String [] texts={"文本內(nèi)容A","文本內(nèi)容B","文本內(nèi)容C","文本內(nèi)容D"};
int [] resIds={R.drawable.icon,R.drawable.icon,R.drawable.icon,R.drawable.icon};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.setTitle("BaseAdapter for ListView");
listView=(ListView)this.findViewById(R.id.MyListView);
listView.setAdapter(new ListViewAdapter(titles,texts,resIds));
}
public class ListViewAdapter extends BaseAdapter{
View [] itemViews;
public ListViewAdapter(String [] itemTitles, String [] itemTexts,
int [] itemImageRes){
itemViews = new View[itemTitles.length];
for (int i=0; i<itemViews.length; ++i){
itemViews[i] = makeItemView(itemTitles[i], itemTexts[i],
itemImageRes[i]);
}
}
public int getCount() {
return itemViews.length;
}
public View getItem(int position) {
return itemViews[position];
}
public long getItemId(int position) {
return position;
}
private View makeItemView(String strTitle, String strText, int resId) {
LayoutInflater inflater = (LayoutInflater)MainActivity.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// 使用View的對象itemView與R.layout.item關(guān)聯(lián)
View itemView = inflater.inflate(R.layout.listview_item, null);
// 通過findViewById()方法實例R.layout.item內(nèi)各組件
TextView title = (TextView)itemView.findViewById(R.id.itemTitle);
title.setText(strTitle);
TextView text = (TextView)itemView.findViewById(R.id.itemText);
text.setText(strText);
ImageView image = (ImageView)itemView.findViewById(R.id.itemImage);
image.setImageResource(resId);
return itemView;
}
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null)
return itemViews[position];
return convertView;
}
}
}
二.“Activity_11\res\layout\main.xml”
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<ListView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/MyListView">
</ListView>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<ListView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/MyListView">
</ListView>
</LinearLayout>
三.“Activity_11\res\layout\listview_item.xml”
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_width="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:paddingBottom="4dip"
android:paddingLeft="12dip">
<ImageView
android:layout_width="wrap_content"
android:id="@+id/itemImage"
android:layout_height="fill_parent">
</ImageView>
<TextView
android:text="TextView01"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/itemTitle"
android:layout_toRightOf="@+id/itemImage"
android:textSize="20dip">
</TextView>
<TextView
android:text="TextView02"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/itemText"
android:layout_toRightOf="@+id/itemImage"
android:layout_below="@+id/itemTitle">
</TextView>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_width="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:paddingBottom="4dip"
android:paddingLeft="12dip">
<ImageView
android:layout_width="wrap_content"
android:id="@+id/itemImage"
android:layout_height="fill_parent">
</ImageView>
<TextView
android:text="TextView01"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/itemTitle"
android:layout_toRightOf="@+id/itemImage"
android:textSize="20dip">
</TextView>
<TextView
android:text="TextView02"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/itemText"
android:layout_toRightOf="@+id/itemImage"
android:layout_below="@+id/itemTitle">
</TextView>
</RelativeLayout>
您可能感興趣的文章:
- Android下拉刷新ListView——RTPullListView(demo)
- android開發(fā)教程之實現(xiàn)listview下拉刷新和上拉刷新效果
- Android實現(xiàn)上拉加載更多以及下拉刷新功能(ListView)
- android下拉刷新ListView的介紹和實現(xiàn)代碼
- Android ListView實現(xiàn)上拉加載更多和下拉刷新功能
- Android ListView下拉刷新上拉自動加載更多DEMO示例
- Android中ListView異步加載圖片錯位、重復、閃爍問題分析及解決方案
- Android實現(xiàn)Listview異步加載網(wǎng)絡圖片并動態(tài)更新的方法
- Android Listview 滑動過程中提示圖片重復錯亂的原因及解決方法
- Android ListView實現(xiàn)下拉頂部圖片變大效果
相關(guān)文章
Android中ViewPager實現(xiàn)滑動條及與Fragment結(jié)合的實例教程
ViewPager類主要被用來實現(xiàn)可滑動的視圖功能,這里我們就來共同學習Android中ViewPager實現(xiàn)滑動條及與Fragment結(jié)合的實例教程,需要的朋友可以參考下2016-06-06
Android中使用Handler及Countdowntimer實現(xiàn)包含倒計時的閃屏頁面
這篇文章主要介紹了Android中使用Handler及Countdowntimer實現(xiàn)包含倒計時的閃屏頁面,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03
Android viewpager中動態(tài)添加view并實現(xiàn)偽無限循環(huán)的方法
這篇文章主要介紹了Android viewpager中動態(tài)添加view并實現(xiàn)偽無限循環(huán)的方法,涉及Android使用viewpager動態(tài)加載view及view無限循環(huán)顯示的相關(guān)技巧,需要的朋友可以參考下2016-01-01

