1. 程式人生 > >實現點選ListView某一item項的選中效果

實現點選ListView某一item項的選中效果

1 設定ListView的監聽,在監聽中記錄點選的位置,並重新整理介面卡,adapter.notifyDataSetChanged(),會呼叫介面卡的getView()方法。

private int currentPosition;

listView.setOnItemClickListener(new AdapterView.OnItemClickListener()
        {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id)
            {
                //變色
                currentPosition = position;
                adapter.notifyDataSetChanged();
              
            }
        });

2 item項的佈局檔案
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:enabled="false"
    android:drawableLeft="@drawable/leftmenu_item_selector"
    android:padding="20dp"
    android:drawablePadding="20dp"
    android:text="新聞"
    android:textSize="23sp"
    android:textColor="@drawable/leftmenu_item_textcolro_selector"
    >

</TextView>

其中leftmenu_item_selector和leftmenu_item_textcolro_selector選擇器使用enable屬性
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:drawable="@drawable/menu_arr_normal"/>
    <item android:state_enabled="true" android:drawable="@drawable/menu_arr_select"/>

</selector>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:color="@android:color/white"/>
    <item android:state_enabled="true" android:color="@android:color/holo_red_light"/>

</selector>

3 在ListView介面卡的getView()方法中實現ListView某一item項的選中效果
 @Override
        public View getView(int position, View convertView, ViewGroup parent)
        {
            ViewHolder viewHolder;
            if (convertView == null)
            {
                viewHolder = new ViewHolder();
                convertView = View.inflate(MainActivity.this, R.layout.item_main, null);
                viewHolder.tv_item_title = (TextView) convertView.findViewById(R.id.tv_item_title);
                convertView.setTag(viewHolder);

            }
            else
            {
                viewHolder = (ViewHolder) convertView.getTag();
            }


            NewsCenterBean.DataBean dataBean = data.get(position);
            viewHolder.tv_item_title.setText(dataBean.getTitle());

            if (curPosition == position)
            {
                viewHolder.tv_item_title.setEnabled(true);
            }
            else
            {
                viewHolder.tv_item_title.setEnabled(false);
            }
            return convertView;
        }

        class ViewHolder
        {
            TextView tv_item_title;
        }



相關推薦

實現ListViewitem選中效果

1 設定ListView的監聽,在監聽中記錄點選的位置,並重新整理介面卡,adapter.notifyDataSetChanged(),會呼叫介面卡的getView()方法。 private int currentPosition; listView.setOnItemCl

RecyclerView 設定一個item的背景或者修改一個item的背景

首先,在adapter中定義一個方法,setWhich(int which); 然後,初始化adapter,設定預設值; adapter.setItemClick(new OnRecyItemClick() { @Override public void onItem

js實現一個按鈕達到瀏覽器全屏效果

專案中需要將後臺瀏覽器的視窗全屏,也就是我們點選一個按鈕要實現按F11全屏的效果。 在HTML5中,W3C制定了關於全屏的API,就可以實現全螢幕的效果,也可以讓頁面中的圖片,視訊等全屏目前只有google chrome 15 +, safri5.1+,firfox1

jsdiv左上角出現對勾選中效果

分享一段程式碼例項,它實現了選中div元素會在元素一角打勾的效果。 程式碼例項如下: 01020304050607080910111213141516171819202122232425262728293031323334353637383940414243444546474849505152

Jquery實現checkbox時,value類似的checkbox也選中

<script type="text/jscript"> //點選某checkbox時,把相關的上傳檔案及生成檔案一併刪除。2012.2.15 jb $(document).ready(function(){      $(":checkbox").click

實現多次只觸發事件

$('.sumbit1').click(function () { $('.sumbit1').unbind();//在點選事件裡移除觸發事件 var pad = $('input:radio[name=info]:checked').val(); i

【Javascript學習筆記】【DOM實戰— —jQ實現任意位置關閉處的效果(常用於模態框後面的遮罩層)】

【Javascript學習筆記】 目錄 目錄 原理 效果 程式碼 實戰程式碼 快捷連結 點選任意位置關閉某處 而且點選對應處並不會hide掉自己 原理

listView條目,給中條目加上上下邊框(變換背景),item佈局控制元件的事件

1–>點選listView條目,給條目加上上下邊框,如圖: deliveryAddAdapter.setSelectIndex(position); deliveryAddAdapte

ios開發:怎麼實現一個按鈕,跳轉到一個新的介面,並回退到上介面

iOS三種檢視切換的原理各不相同:UITabBarController:以平行的方式管理檢視,各個檢視之間往往關係並不大,每個加入到UITabBarController的檢視都會進行初始化即使當前不顯示在介面上,相對比較佔用記憶體。UINavigationControlle

ListView事件失效(item裡面有button按鈕控制元件)解決方法

ListView點選事件失效解決方法: 一般出現這個情況,就是你的item裡面有按鈕的點選事件,你的item裡面有button控制元件,button控制元件是搶佔焦點的,只要在你的item佈局裡面這樣子寫就可以了: &l

Fragment中ListViewItem事件(包含Item內部控制元件的事件)

程式碼記錄在部落格上,分享給想我一樣的菜鳥們,自己忘了的時候也可以拿來看看,免得到處找程式碼: Fragment中ListView的程式碼 package com.example.administrator.myapplication14.Fragmen

【phpcms-v9】文章內容頁實現圖片進入下

在文章內容頁替換{$content}為{php $i=strrpos($pages,"href=");} {php $str = substr($pages,$i+5,-10);} {php $content = str_replace("<img","<str

jquery實現步驟條變色,以及步變色

     最近做專案需要用到步驟條,看了很多不是自己想要的,就借鑑了一下別人的,然後自己總結了一下,感覺可以用到很多專案上使用了。下面是同種風格的步驟條,兩種變色方案: 1.先引入jquery的js <script src="jquery.min.js" type="

Android--實現次返回鍵返回桌面而不是退出應用

點選一次返回鍵的時候不是退出應用而是返回到桌面,比如像QQ和微信等聊天軟體,在主介面點選返回鍵的時候不是退出應用而是返回到桌面,那麼怎麼能夠實現這種需求呢?其實也很簡單,只需要重寫onKeyDown(

RadioGroup實現的RadioButton變色

drawable下新建selector型別的檔案 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/andr

Vue 實現空白處隱藏節點(三種方式:指令、普通、遮罩)

在專案中往往會有這樣的需求: 彈出框(或Popover)在 show 後,點選空白處可以將其 hide。 針對此需求,整理了三種實現方式,大家按實際情況選擇。 當然,我們做專案肯定會用到 UI 框架,常見的 Element 中的元件提供了這樣的方法。 但是,就算使用框架,有些時候還是要用到的,比如: El

三種方法教你HTML實現一個元素之外觸發事件

大致編寫的HTML介面渲染後是這個樣子的,我們現在想要實現的需求是點選Button所在的div不會觸發事件,而在點選Button所在的div之外的區域時會觸發事件,下面就來介紹三種方法實現。 <!-- HTML程式碼 --> <html> <head> <l

小程式實現 加入購物車 紅拋物線飄入

1:實現效果;   2:index.wxss //只寫紅點樣式 .good_box { width: 30rpx; height: 30rpx; position: fixed; border-radius: 50%; overflow: hidden

簡單的側滑實現(button按鈕)

第一步: 首先,自己上網上下載一個SlidingMenuLibrary依賴包,將依賴包匯入studio中, 讓自己的專案依賴一下匯入的依賴包,具體流程就不寫了! activity_main佈局檔案: <?xml version="1.0" encoding="utf-8"?>

JS實現按鈕,下載檔案

今天在實現下載功能時,後臺介面測試完成後,前臺在呼叫時發現,因為系統是基於token的,又不想把token顯示在url中,後來找到了一篇文章,講解了如何通過構造form表單提交請求後端介面,實現檔案下載,原文地址:https://www.cnblogs.com/hamsterPP/p/6763458.html