我想设置网格视图的自定义背景,但是当网格加载时,网格背景的第一个项目没有加载,并且其余所有项目都正确加载。以下是我的代码,所以请帮忙。
public class PicassoExample extends Activity {
private GridView gvFirst;
private ArrayList<MyModel> arrayList;
private PicassoImageAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_picasso_example);
gvFirst = (GridView)findViewById(R.id.gvFirst);
arrayList = new ArrayList<MyModel>();
loadArraylist();
adapter = new PicassoImageAdapter(getApplicationContext(),arrayList);
gvFirst.setAdapter(adapter);
}
private void loadArraylist() {
arrayList.add(new MyModel("http://i.imgur.com/rFLNqWI.jpg"));
arrayList.add(new MyModel("http://i.imgur.com/C9pBVt7.jpg"));
arrayList.add(new MyModel("http://i.imgur.com/rT5vXE1.jpg"));
}
}
这是我的适配器类。
public class PicassoImageAdapter extends BaseAdapter {
private Context context;
private LayoutInflater inflater;
private ArrayList<MyModel> arrayList;
public PicassoImageAdapter(Context applicationContext, ArrayList<MyModel> arrayList) {
context = applicationContext;
this.arrayList = arrayList;
}
@Override
public int getCount() {
return arrayList.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
class Holder {
ImageView imageView;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View myView = null;
try {
Holder holder;
myView = convertView;
if (myView == null) {
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
myView = inflater.inflate(R.layout.adapter_picasso, null);
holder = new Holder();
// here I am setting custom backgroud of each item of gride.
myView.setBackgroundResource(R.drawable.corner_gride_layout);
holder.imageView = (ImageView) myView.findViewById(R.id.imageView);
myView.setTag(holder);
}
else {
holder = (Holder) myView.getTag();
}
MyModel model = arrayList.get(position);
Picasso.with(this.context)
.load(model.getStrUrl())
.placeholder(R.drawable.ic_launcher)
.into(holder.imageView);
} catch (Exception e) {
e.printStackTrace();
}
return myView;
}
}
这是适配器的 xml。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/imageView"
android:layout_width="100dp"
android:layout_height="100dp"
android:scaleType="fitXY"
/>
</LinearLayout>
实际上,我用毕加索图书馆从互联网上下载照片。我已经为网格视图的每一项创建了自定义背景,但当网格视图首先加载时,只有网格的第一项(网格的零位置)不工作,网格视图的所有背景项都设置正确。
当在getView()中convertView不为null时,可以只返回它。
if(convertView != null){
return convertView
}
*Here is what you want to let view do*
我已经使用下面的代码解决了我的问题。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View myView = null;
try {
Holder holder;
myView = convertView;
if (myView == null) {
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
myView = inflater.inflate(R.layout.adapter_picasso, null);
holder = new Holder();
holder.imageView = (ImageView) myView.findViewById(R.id.imageView);
myView.setTag(holder);
}
else {
holder = (Holder) myView.getTag();
}
if(Build.VERSION.SDK_INT>15)
{
myView.setBackground(ContextCompat.getDrawable(context, R.drawable.corner_gride_layout));
}
else {
myView.setBackgroundDrawable(context.getResources().getDrawable(R.drawable.corner_gride_layout));
}
MyModel model = arrayList.get(position);
Picasso.with(this.context)
.load(model.getStrUrl())
.placeholder(R.drawable.ic_launcher)
.into(holder.imageView);
} catch (Exception e) {
e.printStackTrace();
}
return myView;
}
第一次调用getView方法时,父视图的宽度和高度为零。也许你可以获取屏幕内容的宽度和高度来设置它们的值。在my view = inflater . inflate(r . layout . adapter _ Picasso,null)后添加这几行代码;
myView.setLayoutParams(new
AbsListView.LayoutParams(AbsListView.LayoutParams.MATCH_PARENT,
AbsListView.LayoutParams.MATCH_PARENT));
我正在使用V3。3.6的引导,我希望我的Ņavbar的背景颜色是深红色。除了标准引导CSS之外,我还有自己的CSS,如下所示: 该网站是http://www.alkd.org.au 当悬停在每个导航栏项目上时,我得到了红色文本和白色背景的正确样式。但是标准navbar的背景颜色是黑色,而不是深红色,即使我已经覆盖了. navbar-逆背景颜色。浏览器开发工具显示,我的css是'获胜'之一,但似乎被
参考:如何在颜色状态列表资源中指定背景颜色? 我已经按照上面链接中流行的答案。 我有以下绘图; 我理解,它将始终遵循优先顺序,因此在当前顺序中,只有激活和停用可能被触发。然而,目前我没有得到任何结果 我的按钮; 按钮显示为白色,在我的材质主题中,这是色彩主属性 首先,我假设一个主题覆盖了整个应用程序,但如果你明确指定一个特定按钮的背景,它应该覆盖主题值,如果我错了,请纠正我。 我从res/colo
下面是我的navbar.js null ]2]2 这里是我的navbar.css null null
我正在尝试使用java swing创建一个tic-tac-toe游戏。我创建了一个框架,并将其背景设置为一种颜色。问题是框架的背景色没有改变,我尝试使用其他颜色,但背景色总是白色。以下是代码:
我正在尝试制作背景全尺寸图像为每个幻灯片幻灯片在OpenCart。正如我所看到的,OpenCart使用Swiper来创建这个滑块。以下是我的的外观: 正如我所假设的,应该覆盖整个背景。但尽管如此,结果是: 看起来背景图像是试图适合在块只有顶部和底部的角。有什么我遗漏的吗?
我正在用Java制作一个游戏,目前背景设置不起作用,但前景设置可以工作。以下是我的主类代码: 下面是我的Screen类的代码: