2013-02-04 3 views
1

새로운 보스턴 http://www.youtube.com/watch?v=zjHYyAJQ7Vw&list=EC2F07DBCDCC01493A에 의해 비디오 자습서에서 listmenu로 간단한 응용 프로그램을 만들고 그 레슨에서 레이아웃없이이 listmenu를 만듭니다. 모두 저에게 효과적입니다. 거의 메뉴가 활동 중이지만 메뉴에 텍스트가 표시되지 않습니다. 텍스트는 menues 옵션 중 하나를 누르면 표시됩니다. AVD 또는 휴대 전화로 앱을 실행하면 배경이 항상 흰색입니다.목록 메뉴에서 배경색 변경

layout.xml이없는 활동에 listmenu를 만들 때 배경색과 텍스트 색상을 변경하는 방법이 있습니까? 아니면 뭔가 다른 것이있을 수 있습니까? 사전 도움을 요청하십시오. 감사!

편집 : 활동 또는 메뉴의 단추의 배경색이 맞는지 잘 모르겠습니까? 흰색이고 텍스트도 흰색이지만 메뉴의 옵션 사이에 회색 선이 있습니다. 내가 xml 레이아웃 파일을 listview와 함께 사용하지 않기 때문에 아래의 대답이 효과가 있을지 모르겠다. 아마 xml lyaout 파일을 사용하는 것이 더 낫습니다. 좀 더 도움을 청하십시오! 당신은 당신이 할 수 ListView

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(); 
    } 
} 

} 각 항목을 클릭 들어이

yourlistview.setBackgroundColor(color) 

같은 자바에서 목록보기의 배경을 변경할 수 있습니다

+0

xml에서 변경하는 것이 더 쉽습니다.'selector' xml을 사용할 수 있습니다. 매우 편리합니다. –

답변

-1

:

편집 : 몇 가지 코드를 추가 두 가지 방법으로 BG을 변경하십시오.

Fi 처음. 당신의 ListView 목록에 item click listener에 추가이 :

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); 
    } 
}); 

두 번째. 당신의 ListViewAdapter를 사용하여 다음 각 항목

내가 처음 방법은 ListActivity보다 정상적인 활동을 사용하는 것이 좋습니다 제 생각에는

+0

정말 작동합니까?! 내 편집을 참조하십시오! –

+0

예, 작동합니다. –

1

더 나은 생각의 GetView에에 ClickListener를 추가합니다.

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에 추가하십시오