2013-02-04 44 views
1

我正在使用新波士頓視頻教程中的listmenu構建一個簡單的應用程序 http://www.youtube.com/watch?v=zjHYyAJQ7Vw&list=EC2F07DBCDCC01493A而在該課程中,您將創建此列表菜單,而不需要任何佈局。這幾乎都適用於我,菜單處於活動狀態,但我看不到菜單中的任何文字。當我按下其中一個選項時,文本就可見。當我在AVD或手機上運行應用程序時,背景始終是白色的。更改列表菜單中的背景顏色

當您在沒有layout.xml的活動中創建listmenu時,是否有辦法更改背景顏色和文本的顏色?或者可能有其他的東西是錯的? Preciate索姆幫助。謝謝!

編輯:我不確定它是活動的背景顏色還是菜單中的按鈕?它全白,文本也是白色,但菜單中的選項之間有灰線。我不確定下面的答案會起作用,因爲我不使用任何帶有listview的xml佈局文件?也許最好用x​​ml lyaout文件來做呢?請提供一些進一步的幫助!

編輯:添加一些代碼:

public class Menu extends ListActivity{ 

String classes[] = {"MainActivity", "Example1", "Example2"}; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 

    setListAdapter(new ArrayAdapter<String>(Menu.this,android.R.layout.simple_dropdown_item_1line, classes)); 
} 

@Override 
protected void onListItemClick(ListView l, View v, int position, long id) { 
    // TODO Auto-generated method stub 
    super.onListItemClick(l, v, position, id); 
    String selectedClass = classes[position]; 
    try{ 
    Class ourClass = Class.forName("com.test.theNewBoston." + selectedClass); 
    Intent ourIntent = new Intent(Menu.this, ourClass); 
    startActivity(ourIntent); 
    }catch(ClassNotFoundException e){ 
     e.printStackTrace(); 
    } 
} 

}

+0

它很容易在xml上進行更改,您可以使用'selector' xml,非常容易 –

回答

-1

你可以改變背景的列表視圖上的Java這樣

yourlistview.setBackgroundColor(color) 

對於點擊每個項目在你ListView你可以以兩種方式更改BG

Fi RST。在item click listener添加到您的ListView榜單:

list.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    //ListView parent, View v, int position, long id 
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
     arg1.setBackgroundColor(Color.Black); 
    } 
}); 

二。使用AdapterListView,然後在GetView添加clicklistener每個項目

我認爲第一種方式是更好的

+0

這真的會起作用嗎?!請看我的編輯! –

+0

是的,它會工作,請測試它 –

1

在我看來,最好是使用比ListActivity正常活動。

ListView list = (ListView)findViewById(R.id.listView1); 

list.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    //ListView parent, View v, int position, long id 
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
     arg1.setBackgroundColor(Color.RED); 
    } 
}); 

,你可以設置背景顏色是這樣的:

list.setBackgroundColor(Color.BLUE); 
1

嘗試這樣的應用選擇。它會幫助你改變背景顏色。

<?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 

     <item android:drawable="@color/pink" android:state_pressed="true"/> 

     <item android:drawable="@android:color/transparent"/> 

    </selector> 
+1

這將幫助你改變你點擊的項目的背景顏色。 –

0
public class HttpEx extends ListActivity { 

    String options[] = {"BasicConnect","ConnectToSql","TBA","TBA", 
         "TBA","TBA"}; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setListAdapter(new ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_list_item_1, options)); 
     getListView().setBackgroundColor(Color.BLACK); //add this code into the onCreate 
    } 

這是怎麼弄到的背景顏色爲我ListActivity改變。 getListView()。setBackgroundColor(Color.BLACK); //將此代碼添加到onCreate中