Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

setup background color in listview

How do I get my whole backgroundpage white? I have a listview and tried to set the backgroundcolor white in the xml but it didn't worked. These are my xmls:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<ListView 
android:id="@+id/list" android:layout_width="fill_parent" 
android:clickable="true" android:layout_height="fill_parent"></ListView>

The only thing that actually gets white is this:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/naam" android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:textSize="16sp" >
</TextView>

this is my java code:

public class Contactenlijst extends ListActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    final HashMap<Integer, Personeel> personeelmap = new HashMap<Integer, Personeel>();
    ArrayList<String> list = new ArrayList<String>();
    // Get the data (see above)

    JSONObject json = Database
            .getJSONfromURL("http://fabian.nostradamus.nu/Android/getcontactinfo.php");

    try {
        JSONArray contactinfo = json.getJSONArray("contactlijst");
        // Loop the Array
        for (int i = 0; i < contactinfo.length(); i++) {

            JSONObject e = contactinfo.getJSONObject(i);
            Personeel p = new Personeel(
                    Integer.parseInt(e.getString("id")),
                    e.getString("staff_name"),
                    e.getString("staff_lastname"),
                    e.getString("staff_dateofbirth"),
                    e.getString("staff_address"),
                    e.getString("staff_address_postal"),
                    e.getString("staff_address_city"),
                    e.getString("staff_mobile"));
            personeelmap.put(Integer.parseInt(e.getString("id")), p);
            list.add(p.toString());
        }

    } catch (JSONException e) {
        Log.e("log_tag", "Error parsing data " + e.toString());
    }

    setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, list));
    ListView lv = getListView();
    lv.setTextFilterEnabled(true);

    // onclick stuur array naar contactinfo

    lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {

            String text = ((TextView) view).getText().toString();
            Intent i = new Intent(Contactenlijst.this, Contactinfo.class);
            String uittekst[] = text.split(" ");
            String vnaam = uittekst[0].toString();

            ArrayList<String> al = new ArrayList<String>();
            int a = personeelmap.size();

            a = a + 1;
            for (int c = 1; c < a; c++) {

                if (personeelmap.get(c).getStaff_name().toString()
                        .equals(vnaam)) {
                    al.add(personeelmap.get(c).getStaff_name());
                    al.add(personeelmap.get(c).getStaff_lastname());
                    al.add(personeelmap.get(c).getDateofbirth());
                    al.add(personeelmap.get(c).getStaff_address());
                    al.add(personeelmap.get(c).getStaff_address_postal());
                    al.add(personeelmap.get(c).getStaff_address_city());
                    al.add(personeelmap.get(c).getStaff_mobile());
                }
                ;
            }

            i.putStringArrayListExtra("array", al);
            startActivity(i);
        }
    });
}

}

like image 588
Fabian Avatar asked Sep 16 '11 14:09

Fabian


People also ask

How to change the background color of listview items on Android?

This example demonstrate about How to change the background color of ListView items on Android. Step 1 − Create a new project in Android Studio, go to File ⇒ New Project and fill all required details to create a new project. Step 2 − Add the following code to res/layout/activity_main.xml. Step 3 − Add the following code to src/MainActivity.java

How to set background color at index 0 in a list?

if you want to set background color at index '0',U should be try this it works nice i have used this code. list.post (new Runnable () { @Override public void run () { list.setSelected (true); list.setBackgroundColor (Color.BLACK); list.getChildAt (0).setBackgroundColor (Color.BLUE); } });

How do I set a variable in a listview?

There is a very easy way to do this. First, create a ListView variable in your activity (above onCreate): Then in onCreate to set the variable you can do this, assuming you extend ListActivity: or this works instead assuming mylist id is set in XML to the listview:

How to create a listview from a listactivity?

First, create a ListView variable in your activity (above onCreate): Then in onCreate to set the variable you can do this, assuming you extend ListActivity: or this works instead assuming mylist id is set in XML to the listview:


2 Answers

There is a very easy way to do this.

First, create a ListView variable in your activity (above onCreate):

ListView LV = null;

Then in onCreate to set the variable you can do this, assuming you extend ListActivity:

LV = getListView();

or this works instead assuming mylist id is set in XML to the listview:

LV = (ListView) findViewById(R.id.mylist);

finally, set the background to a color:

LV.setBackgroundColor(Color.WHITE);

or set it to a drawable:

int r = getResources().getIdentifier("subtle_white_gradient", "drawable", "com.my.package");
LV.setBackgroundResource(r);
like image 186
Mischa Avatar answered Oct 18 '22 08:10

Mischa


if you want to set background color at index '0',U should be try this it works nice i have used this code.

list.post(new Runnable() {

    @Override
    public void run() {
        list.setSelected(true);
        list.setBackgroundColor(Color.BLACK);
        list.getChildAt(0).setBackgroundColor(Color.BLUE);          
    }
});
like image 35
Sanjeev Sangral Avatar answered Oct 18 '22 08:10

Sanjeev Sangral