【问题标题】:setBackgroundDrawable for ListView in AndroidAndroid 中 ListView 的 setBackgroundDrawable
【发布时间】:2018-10-08 10:03:14
【问题描述】:

如何将可绘制对象设置为类中列表视图的背景?

if (array1.size() < 8)
{
    lv1.setBackgroundDrawable(R.drawable.bgimghs2b);
}

不合适。

【问题讨论】:

  • “不当”是什么意思?
  • 可能编译不出来。

标签: android listview


【解决方案1】:

那是因为你没有给它一个Drawable,而是一个drawable的ID。试试:

lv1.setBackgroundDrawable(getResources().getDrawable(R.drawable.bgimghs2b))

如果您正在参加一项活动。如果没有,那么您需要获取Context 并为此致电getResources()

【讨论】:

  • 谢谢!我用过一次,但找不到:S
  • 详细说明:listView.setBackgroundDrawable(Drawable) 在 4.1(API 级别 16)中已弃用。
【解决方案2】:

使用这个:android.view.View.setBackgroundResource(int resID)

lv1.setBackgroundResource(R.drawable.bgimghs2b);

【讨论】:

    【解决方案3】:

    更新: 该方法已弃用,您可以改用:

    1. 只需 API 16 或更高版本。

      setBackground(可绘制背景)

    2. 如果您有 API 16 使用的先前版本

      setBackgroundResource(int resid)

    【讨论】:

      【解决方案4】:

      你应该使用:

      Drawable background = this.getResources().getDrawable(R.drawable.yourBackgroundDrawableID);
      lv.setBackgroundDrawable(background);
      

      【讨论】:

        【解决方案5】:

        (: 或使用

        lv1.setBackground(R.drawable.bgimghs2b);
        

        【讨论】:

          猜你喜欢
          • 2012-08-04
          • 2014-02-22
          • 2012-08-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-23
          • 2015-02-17
          相关资源
          最近更新 更多