android - 无法将列表传递给自定义视图
问题描述
现在我有这个自定义视图,我想将数据从活动传递到这个布局
public class ImageViewing extends LinearLayout {
ArrayList<String> urlsArrayList = new ArrayList<>();
public ImageViewing(Context context) {
super(context);
init();
}
public ImageViewing(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public ImageViewing(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
public ArrayList<String> getUrlsArrayList() {
return urlsArrayList;
}
public void setUrlsArrayList(ArrayList<String> urlsArrayList) {
// this.urlsArrayList.clear();
// this.urlsArrayList.addAll(urlsArrayList);
this.urlsArrayList = urlsArrayList;
invalidate();
}
private void init() {
setOrientation(HORIZONTAL);
if (urlsArrayList != null) {
int size = urlsArrayList.size();
AppLogger.log("Size",""+size);
switch (size) {
case 0:
break;
case 1:
onePictureView();
break;
case 2:
twoPictureView();
break;
case 3:
threePictureView();
break;
case 4:
fourPictureView();
break;
default:
moreThanFourPictureView(size);
break;
}
} else {
}
invalidate();
}}
我想通过 Array List put list Is Always 0 size
我将它添加为视图 像这样
<com.tmoo7.carmasrclub.cutomView.ImageViewing
android:id="@+id/viewImagesLayout"
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
然后在我的活动中
viewImagesLayout = findViewById(R.id.viewImagesLayout);
viewImagesLayout.setUrlsArrayList(model.getPostImageUrl());
任何人都可以帮助我并告诉我出了什么问题吗 任何人都可以帮助我并告诉我出了什么问题 请任何人都可以帮助我并告诉我出了什么问题
解决方案
把开关盒
switch (size) {
case 0:
break;
case 1:
onePictureView();
break;
case 2:
twoPictureView();
break;
case 3:
threePictureView();
break;
case 4:
fourPictureView();
break;
default:
moreThanFourPictureView(size);
break;
}
改为您的“setUrlsArryList”方法
public void setUrlsArrayList(ArrayList<String> urlsArrayList) {
this.urlsArrayList = urlsArrayList;
// here
invalidate();
}
假设你的 onePictureView()、twoPictureView()、threePictureView() 方法真的改变了你的视图的外观
推荐阅读
- google-apps-script - 下拉列表的 cardservice 和 additem:如何添加数组?
- postgresql - 如何在postgres中搜索以特殊字符开头的名称
- c - 如果我在内核中添加一个 while 循环,Qemu 会重新启动
- powershell - 从“.CSV”获取多个单元格值到 Powershell
- django - 如何使用 django 标签模板在前端显示类别?
- php - 当我在 php 中执行查询时,我得到:致命错误:未捕获的错误:调用 bool 上的成员函数 close()
- xamarin.forms - Xamarin 形式:Xamarin.Plugin.FilePicker 不适用于 ios
- python - 通过 id 将 NaN 向前填充到最后一个值,并在最后一个值之后再填充 2 次
- java - jOOQ 中的 UPDATE-FROM 子句在比较数据类型时抛出异常
- json - 如何以角度形式验证开始日期和结束日期