簡體   English   中英

更改特定列表視圖項的顏色

[英]Change color of specific listview item

我需要更改列表視圖的某些特定項目的文本顏色。

lstdetails = (ListView) findViewById(R.id.lstdetails);

ListAdapter adapter = new SimpleAdapter(
    Details.this, details_list,
    R.layout.Details, new String[] {
            "lecture_key", "date",
            "total_lect_int", "attendance" },
    new int[] { R.id.tvKey, R.id.tvdate,
            R.id.tvtotallect, R.id.tvattendance });

lstdetails.setAdapter(adapter);

文本顏色需要根據R.id.tvattendance的值進行更改

上面的代碼片段在擴展AsyncTask的類的onPostExecute函數中

您需要實現自定義適配器,從BaseAdapter類擴展,並在getView方法中更改顏色

您需要實現自定義適配器您可以查看我在此開源項目中所做的完整實現

片段中的Customadapter

  private class listviewAdapter extends BaseAdapter {


   @Override
    public View getView(int position, View convertView, ViewGroup parent) {

      int value= listAdapter.get(position); // or whatever data type is your value

      if (value==0){
            //change color of the textview at runtime here
        }else{

            //or some other color
        }

     }




   }


i am using this inside a fragment and it works perfectly  

我認為您有兩種選擇來實現它。

  1. 正常方式 :使用自定義適配器並根據需要自定義每一行。 這樣一來,請看這里

  2. 丑陋的方式! :使用mListView.getFirstVisiblePosition()mListView.getLastVisiblePosition()以及mListView.getChildAt(...)獲得對該行的引用,然后根據需要對其進行自定義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM