为列表视图设置背景

我有四个标签,包含四个列表视图,我想为每个列表视图设置背景,但每当我尝试添加背景时,它会将图像放在列表视图的每个单元格中而不是列表后面。

   

我已经意识到这是因为我试图在textview中添加背景,所以它在listview中的每个单元格中添加图像,所以我尝试添加linearlayout,listview和imageview并将背景放在那里但是它强行关闭。 我认为这是因为tabhost使用main.xml来绘制主页并且它发生冲突,所以我甚至尝试添加listview,它仍然关闭nforce,它只有在我只有textview时才能工作,我怎么能添加一个每个listview的背景,下面是listview代码;

 public class prem extends ListActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); // Create an array of Strings, that will be put to our ListActivity String[] names = new String[] { "Pre"}; ListView lv = getListView(); lv.setCacheColorHint(00000000); lv.setAdapter(new ArrayAdapter(this, R.layout.list_item, names)); } 

好的,您的XML布局文件将在setContentView()方法中使用。 您尚未发布包含TabHost的活动代码,但我假设您使用的是默认的setContentView(R.layout.main); 。 如果你不使用setContentView() (在ListActivity的情况下),将ListView添加到XML文件不会改变任何东西,因为它永远不会被使用。

你是正确的,因为你正在设置TextView的背景。 由于您使用的是ListActivity,因此您需要使用代码设置ListView的背景。 ListView是View的子类,因此您可以使用View类中的方法为ListView设置背景资源。

例如:

 ListView listView = getListView(); //set background to color listView.setBackgroundColor(#FF888888); //set background to Drawable listView.setBackgroundDrawable(myDrawable); //set background to Resource listView.setBackgroundResouce(R.id.my_res_id); 

根据JonniBravo,添加….

如果您有一个XML布局文件,用于在活动中使用setContentView()设置视图,则可以在其中定义ListView。

     

活动可以“找到它”使用

 lv = getListView(); 

如上面的示例所示,您可以使用“background”属性设置ListView的背景。 像往常一样,这可以是有效的可绘制的(例如颜色或图像)。 在我的例子中,它恰好是一个9.patch图像,由Android拉伸以封闭列表,提供一个框架。

祝你好运。