android listView實現預設選擇,高亮選中
public class DemoActivity extends Activity {
//顯示具體菜品
private ListView listDishes = null;
//具體菜品listview介面卡
private MyAdapter myAdapter;
//列表,用來存放類別下的菜品
List<HashMap<String, String>> data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
//取得所有的菜品
data = this.getDishes();
myAdapter = new MyAdapter(this);
//尋找菜類別控制元件
listDishes = (ListView)findViewById(R.id.listDishes);
//設定介面卡
listDishes.setAdapter(myAdapter);
//繫結菜品列表單擊監聽器
listDishes.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
myAdapter.setSelectItem(5); //自定義的變數,以便讓adapter知道要選中哪一項
myAdapter.notifyDataSetInvalidated();//提醒資料已經變動
}
});
}
public List<HashMap<String, String>> getDishes() {
//宣告一個雜湊陣列
ArrayList<HashMap<String, String>> list = newArrayList<HashMap<String, String>>();
HashMap<String, String> map1 = new HashMap<String, String>();
…… //載入菜品資訊
map1.put("dish_name", "魚香肉絲");
map1.put("dish_price", "5元");……
//新增進列表中
list.add(map1);……
return list;
}
static class ViewHolder {
TextView textDishName;
TextView textDishPrice;
}
public class MyAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private int selectItem=-1;
public MyAdapter(Context context) {
this.mInflater = LayoutInflater.from(context);
}
public int getCount() {
// TODO Auto-generated method stub
return data.size();
}
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return data.get(arg0);
}
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
//此處佈局檔案詳見文章最後
convertView = mInflater.inflate(R.layout.list_dishes_detail, null);
holder.textDishName = (TextView) convertView.findViewById(R.id.dish_name);
holder.textDishPrice = (TextView) convertView.findViewById(R.id.dish_price);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.textDishName.setText(data.get(position).get("dish_name"));
holder.textDishPrice.setText(data.get(position).get("dish_price"));
//如果位置相同則設定背景為黃色
if (position == selectItem) {
convertView.setBackgroundColor(Color.YELLOW);
}
else {
convertView.setBackgroundColor(Color.TRANSPARENT);
}
return convertView;
}
public void setSelectItem(int selectItem) {
this.selectItem = selectItem;
}
}
}
相關推薦
android listView實現預設選擇,高亮選中
public class DemoActivity extends Activity { //顯示具體菜品 private ListView listDishes = null; //具體菜品listview介面卡 private MyAdapter myAdapter; //列表,用
android listView點選item,高亮顯示
實現listView中選擇item高亮的功能,最重要的程式碼就是 adapter.notifyDataSetInvalidated(); 通知觀察者,此條資料不再有效。 其次需要在實現BaseAdapter的類中新增一個方法,紀錄選中的item的id
ElasticSearch學習筆記(九)Java AP實現搜尋,排序,高亮,分頁
雖然上一篇中的對索引的搜尋可以在一定程度上獲取索引的資訊,但是畢竟功能是有限的,本篇主要是對elasticsearch使用javaAPI實現搜尋功能的筆記。 一、搜尋 package test; import static org.elastics
arcgis for android空間查詢 點選某點,選中該點所在區域,高亮顯示
修改mail.xml <com.esri.android.map.MapView android:id="@+id/map" android:layout_width="fill_parent" an
Elasticsearch全文檢索,高亮關鍵字
code spa nsh pes lds exp response sets highlight 問題 用如下這樣的term方式,可以高亮 .setQuery(QueryBuilders.termQuery("PARAM_NAME", "a")) { "query":
JavaScript實現段落文本高亮
round strong center 右鍵 listener 進行 onkeyup charset mfc 代碼: <!doctype html> <html lang="en"> <head> <meta http-e
短語搜索,高亮搜索
port get html .cn 沒有 https efi nbsp ctr 接著上節: http://www.cnblogs.com/spectrelb/p/7977051.html 短語搜索 找出一個屬性中的獨立單詞是沒有問題的,但有時候想要精確匹配一系列單詞
Unity實現通用的物體高亮閃爍的方法(輪廓或整體高亮閃爍)
一、匯入DoTween或DoTweenPro外掛到專案中 二、編寫一個控制物體輪廓高亮閃爍的指令碼,如下圖所示: using System.Collections; using System.Collections.Generic; using UnityEngine
js實現當前導航選單高亮顯示
html: <div id="navi"> <ul> <li><a href="1.html">主頁</a></li> <li><a href="2.html">欄目1</a></l
經典排序演算法的實現(選擇,插入,shell,堆,快速,歸併排序)
1.選擇排序 //選擇排序 void selectSort(int * arr, int n) { for (int i = 0; i < n - 1; i++) { int min = arr[i]; int minPos = i; for (int j = i
React-router、antd實現同步瀏覽器地址高亮對應選單
關於 React 和 antd 元件庫 React 是目前主流的前端開發框架,目前前端流行的框架是 Angular,Vue,React,具體選型看專案需求而定。 antd 是基於 React 開發的元件庫,有螞蟻金服團隊退出,目前使用人數較多,元件也比較多,文件也很友好。 本次我做的就是使用 antd
使element-tree預設展開節點高亮
element-ui tree元件預設節點高亮問題: Element-ui tree的官方文件中給我們提供了一個介面: default-expanded-keys陣列 我們可以將預設展開的節點的key放到陣列中,就可以預設展開 但是有一個比較難受的問題是預設展開的節點
react 實現列表選擇,在此點選取消
handeSecondQuestionOptions(item){//處理第二題 console.log(item.id) if(!this.state.data.includes(item.id)){ console.log("沒有包含當前的物件") this.state.data.pu
Echarts實現環形圖自動高亮
摘要:需求一個接一個的來,剛實現了tootip自動顯示,緊接著的需求就是希望環形圖自動tootip的同時圖形跟著高亮顯示。 實現:由於之前看了官方文件,就是使用Echarts的api中的dispatchAction方法,type設為highlight。 想要的結果如下圖所
Java-十種內部排序實現(選擇,冒泡,插入,希爾,堆,歸併,快速,基數,計數,桶)及程式碼下載
選擇排序 氣泡排序 插入排序 希爾排序 堆排序 歸併排序 快速排序 基數排序 計數排序 桶排序 1. 選擇排序 這個排序方法最簡單,廢話不多說,直接上程式碼: public class SelectSort { /** * 選擇排
基於Vue實現關鍵詞實時搜尋高亮顯示關鍵詞
最近在做移動real-time-search於實時搜尋和關鍵詞高亮顯示的功能,通過部落格的方式總結一下,同時希望能夠幫助到別人~~~ 好了閒話不多說直接上程式碼 實時搜尋 實時搜尋通過觸發input事件和定時器來實現 <input v-model="keyW
在Android上實現SSL握手,實現伺服器和客戶端之間Socket互動
public class MySSLSocket extends Activity { private static final int SERVER_PORT = 50030;//埠號 private static final String SERVER_IP = "218.206.17
Angular6實現搜尋關鍵字詞高亮
效果圖如下: 1、建立一個pipe 2、寫pipe(可以完全複製) import {Injectable, Pipe, PipeTransform} from '@angular/core'; import {DomSanitizer} from '@a
Android ListView 實現分批載入
ListView 想必大家都很熟悉了,當有大量資料需要顯示時,通常不會一次性把資料全部載入顯示出來,而是會先載入一部分,當用戶滑動螢幕滑到最後一條資料時,再載入下一部分資料。也就是分批載入。 這篇部落格將講解如何實現 ListView 的分批載入資料。
Linux下可以批註,高亮的PDF閱讀器
menledey是一個圖書管理軟體 實現的是個人library的功能 當然,我僅僅把它當作一個PDF閱讀器來用確實是有點 大材小用了,不過他的library功能也挺有用的 好像是每個使用者免費送2GB的個人空間 menledey不僅僅可以閱讀PDF 還可以閱讀WORD文件