Android setcolour listview特定行(只有一行)

时间:2011-08-12 10:17:51

标签: android

我想为listview中的特定行设置颜色。该行将在运行时知道。我已经完成了这样的列表视图:

 ArrayList<SalesRoutes> routeList = getSalesRoute();

    ArrayList<HashMap<String, String>> routhPath = new ArrayList<HashMap<String, String>>();
    for (int i = 0; i < routeList.size(); i++) {
        if(Integer.parseInt(routeList.get(i).getOutlets()) >0){
            HashMap<String, String> map = new HashMap<String, String>();
            map.put("routeCode",((SalesRoutes) routeList.get(i)).getRouteCode());
            map.put("routeName",((SalesRoutes) routeList.get(i)).getDescription());
            map.put("outlets", ((SalesRoutes) routeList.get(i)).getOutlets());
            routhPath.add(map);
        }
    }

    ListView list = getListView();
    sd = new SimpleAdapter(this, routhPath, R.layout.route_path,new String[] {"routeCode","routeName","outlets" },new int[] { R.id.routeCode,R.id.routeName,R.id.outlets});
    row = getLayoutInflater().inflate(R.layout.route_path_row, null, false);
    getListView().addHeaderView(row);
    list.setAdapter(sd);
    list.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
    list.setSelected(true);
    //list.setSelection(0);

    list.setTextFilterEnabled(true);
    list.setItemsCanFocus(true);
    list.setItemChecked(positions, true);
    list.setSelectionAfterHeaderView();

请告诉我我该怎么做......

提前致谢

1 个答案:

答案 0 :(得分:1)

一种方法是使用你想要的行的索引 。getListView()getChildAt(指数).setBackground(#FF0000);

否则,您需要创建自定义适配器并覆盖在呈现每一行之前调用的getView方法。您可以使用它来检查任何条件并相应地设置背景。 http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/

以上是关于此的教程。