应用程序启动时突出显示 listView 项

Highlighting a listView item when app starts

我想在应用程序运行且菜单首次打开时(无需单击)选择 listView 上的第一项。谁能帮我? 我也希望能够在所选项目的右边框上画一条小垂直线来突出显示它,但是除了更改背景之外我找不到其他方法来突出显示项目...

关于listView的xml:

<ListView
    android:id="@+id/slider_list"
    android:layout_width="240dp"
    android:layout_height="186dp"
    android:layout_gravity="start"
    android:background="#368ee0"
    android:textColor="#ffffff"
    android:choiceMode="singleChoice"
    android:listSelector="#44444444"
    android:divider="#b0e0e6"
    android:dividerHeight="1dp" />

编辑 1:

在我的 MainActivity 中,我尝试遵循其中一项建议并在显示内容之前设置项目的背景颜色。相关行是:

private ListView mDrawerList;
mDrawerList = (ListView) findViewById(R.id.slider_list);
rowItems = new ArrayList<RowItem>();//which for instance i use as String url = rowItems.get(position).getPageUrl();

mDrawerList.setAdapter(adapter);
mDrawerList.setOnItemClickListener(new SlideitemListener());

在我尝试这样的事情之后:

((RowItem)mDrawerList.getItemAtPosition(0)).setBackgroundColor(Color.rgb(68, 68, 68));

但是 rowItems 没有 setBackgroundColor 方法。我应该从 listView (mDrawerList) 中获取该项目,但充满了 RowItems。

你可以试试

list.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

list.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position,long arg3) {
        view.setSelected(true);
        ...
    }
}

使用此模式后,您可以使用选择器指定不同的背景。

 if (position == selectedListItem)
  {
    //TODO: set the proper selection color here:
    renderer.setBackgroundResource(android.R.color.darker_gray);
  } 


     try this you can just update zeroth position element to always set a different color