-1

特定の行に色を付けるにはどうすればよいですか?

メソッドを使用してみましgetViewたが、成功しませんでした。条件に基づいて行に色を付けたくありません。特定の色で行をハードコーディングしたいだけです。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tv=(TextView) findViewById(R.id.tv1);
    listview= (ListView) findViewById(R.id.listview1);


    mylist.add("random1");
    mylist.add("random2");
    mylist.add("random3");
    mylist.add("random4");


    ArrayAdapter adapter = new ArrayAdapter(this,
            android.R.layout.simple_list_item_1, mylist);

    listview.setBackgroundColor(Color.CYAN);

        listview.setAdapter(adapter);

    listview.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, final View view,
                  int position, long id) {
        String position2 =String.valueOf(position);

            Intent i = new Intent(MainActivity.this,minutes.class);

            i.putExtra("position",position2 );
            startActivity(i);

        }
    });

}

私のXMLは次のようになります:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >


<ListView
    android:id="@+id/listview1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:focusable="false">

</ListView>

4

1 に答える 1

0

色をハードコードする場合は、独自のアダプターを作成し、getview メソッドでハードコードすることをお勧めします。

他のオプションは、リストビューから子を循環させることです。

for(int i = 0; listview.getchildcount() > i; i++){
   View child = listview.getChildAt(i);
   //Your code...
}

しかし、リストビューをスクロールすると子が変わるため、あまりお勧めできません...

于 2013-08-14T20:38:28.943 に答える