我正在使用新波士顿的视频教程中的listmenu构建一个简单的应用程序 http://www.youtube.com/watch?v=zjHYyAJQ7Vw&list=EC2F07DBCDCC01493A在该课程中,您可以创建此列表菜单而无需任何布局。这一切都对我有用,差不多,菜单在活动中,但我看不到菜单中的任何文字。当我按下其中一个menues选项时,文本就可见了。当我在AVD或手机上运行应用程序时,背景始终为白色。
在没有layout.xml的活动中创建列表菜单时,有没有办法更改文本的背景颜色和颜色?或者还有其他错误吗?精确的帮助。谢谢!
编辑:我不确定它是活动的背景颜色还是菜单中的按钮?它全是白色,文本也是白色,但菜单中的选项之间有一条灰线。我不确定下面的答案是否有效,因为我没有使用任何带有listview的xml布局文件?也许最好用xml 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 :(得分: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 :(得分: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>
答案 2 :(得分: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
中答案 3 :(得分:-1)
您可以像这样更改java上listview的背景
yourlistview.setBackgroundColor(color)
要点击ListView
中的每个项目,您可以通过两种方式更改BG
:
首先。将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);
}
});
二。使用Adapter
到ListView
,然后在每个项目的GetView
上添加clicklistener
我认为第一种方式更好