国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

listview改變字體大小實例講解

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

效果:點擊字體,字體變大

主要利用的getView()方法和setOnItemClickListener()方法
ListText.java

復制代碼 代碼如下:

package lt.com;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
public class ListText extends Activity {
List<Map<String,Object>> mData;
public static int select_item = -1;
//MyAdapter adapter;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ListView lv=(ListView)findViewById(R.id.lv) ;
mData= GetDate();
final MyAdapter adapter =new MyAdapter(this);
lv.setAdapter(adapter);
Log.v("tag", "100");
//點擊事件
lv.setOnItemClickListener(new OnItemClickListener(){

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
select_item = arg2; //當前選擇的item
adapter.notifyDataSetChanged(); //通知adapter刷新數據
Log.v("tag", "1");
}
public void onNothingSelected(AdapterView<?> arg0) {

}

});
}
//item相關信息 名稱 圖片
public List<Map<String,Object>> GetDate(){

List<Map<String,Object>> list=new ArrayList<Map<String,Object>>(); //存在一個大倉庫,擺放著很多抽屜 ,list相當把抽屜放進倉庫。
// 這是upcast 或者ArrayList<Map<String,Object>> list=new ArrayList<Map<String,Object>>();也行

Map<String,Object> map=new HashMap<String,Object>();//抽屜,里面有東西。
map.put("text", "中國");//把東西放到抽屜里面
list.add(map);//把抽屜放到倉庫里

HashMap<String,Object> map1=new HashMap<String,Object>();
map1.put("text", "美國");
list.add(map1);

HashMap<String,Object> map2=new HashMap<String,Object>();
map2.put("text", "日本");
list.add(map2);

return list;
}
//自定義適配器
public class MyAdapter extends BaseAdapter{
private LayoutInflater mInflater;//Instantiates a layout XML file into its corresponding View objects.
private int select_item;
public MyAdapter(Context context){
this.mInflater = LayoutInflater.from(context);//Obtains the LayoutInflater from the given context.
}

//item的數量
public int getCount() {
// TODO Auto-generated method stub
return mData.size();
}
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
//convertView是復用的view,如果沒有舊的就新建個新的view;parent是listview
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder = null;
if(convertView==null){
holder=new ViewHolder();
convertView=mInflater.inflate(R.layout.main, null);//Inflate a new view hierarchy from the specified xml resource.
holder.texta = (TextView)convertView.findViewById(R.id.text);
convertView.setTag(holder);//Sets the tag associated with this view , A tag can be used to mark a view in its hierarchy and does not have to be unique within the hierarchy.
//這個view是holder繪制的
}
else{
holder = (ViewHolder)convertView.getTag();//get tag
}
holder.texta.setText((String)mData.get(position).get("text"));
this.select_item = ListText.select_item;
try{
if(this.select_item == position){
holder.texta.setTextSize(50); //選中的Item字體:50px
Log.v("tag", "3");
}
else
holder.texta.setTextSize(20); //未選中的Item字體:10px
Log.v("tag", "2");
}catch(Exception ex){
ex.printStackTrace();
}


return convertView;
}
}
/** listView 中某項被選中后的邏輯
protected void onListItemClick(ListView l, View v, int position, long id) {
select_item = position; //當前選擇的item
// adapter.notifyDataSetChanged(); //通知adapter刷新數據

Log.v("tag", "1");
}
*/
public final class ViewHolder{
TextView texta;

}
}

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

<?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" >
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
</ListView>
<TextView
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汽车| 田林县| 大关县| 正阳县| 新丰县| 永川市| 东丽区| 承德县| 武功县| 深圳市| 彩票| 山东省| 中西区| 梓潼县| 清徐县| 桓台县| 康马县| 鲁甸县| 讷河市| 齐河县| 武穴市| 台北市| 页游| 上虞市| 东港市| 苍南县| 台东县| 嵊泗县| 堆龙德庆县| 会同县| 新郑市| 油尖旺区| 平乐县| 靖边县| 内丘县| 吴堡县| 玉田县| 清流县| 富民县| 中西区| 仁布县|