标签: android-arrayadapter

带有ImageViews的Android填充数组

我想要一组图像视图,但我不知道如何使用imageview类型的对象填充它.

 ImageView[] forAdapter = new ImageView[imageIds.size()];
 for(int i = 0; i < imageIds.size(); i++)
 {
                    ImageView mImageView = new ImageView(context);
                    forAdapter[i] = mImageView.setImageDrawable(((imagesPulled.get(imageIds.get(i)))));
}
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为.setImageDrawable不返回imageview,我不知道任何实际做的对象!

我考虑在数组中使用drawables,但我最终为listview设置了一个arrayadapter,并且我不能使用drawables创建一个R.layout(我会得到一个类转换异常因为xml文件使用的是ImageView而不是drawable类型),所以我只有ImageViews放入一个数组 - 除非我接近错误的问题.

android listview drawable android-arrayadapter imageview

0
推荐指数
1
解决办法
2903
查看次数

Android,在ListView中交替行布局,可以用ArrayAdapter完成吗?

我知道你可以扩展BaseAdapter并覆盖getViewTypeCount()getItemViewType(postion)方法,并以这种方式获得各种行布局.

但是,我刚刚完成了一个扩展ArrayAdapter的教程,并且getView(int position, View convertView, ViewGroup parent)是唯一的方法覆盖.

在我看来,只是为了遵循这种方法并使用位置可能使用if/switch来确定给定行的膨胀视图.

这是一个正确的假设还是这种方法存在问题?

干杯

java android adapter android-arrayadapter baseadapter

0
推荐指数
1
解决办法
182
查看次数

ArrayAdapter.insert()有什么作用?

我在任何地方都没有看到明确的答案:ArrayAdapter.insert()是否在指定位置插入项目..或..它是否替换指定位置的信息?

android android-arrayadapter

0
推荐指数
1
解决办法
2548
查看次数

Android - 适配器中的ListView出错:java.lang.NullPointerException

我在显示列表视图时遇到此错误.问题在于适配器,但我找不到解决方案.这在我的logcat中:

FATAL EXCEPTION: main
java.lang.NullPointerException
at com.client.alm.WorkItemAdapter.getView(WorkItemAdapter.java:68)
at android.widget.AbsListView.obtainView(AbsListView.java:2159)
at android.widget.ListView.measureHeightOfChildren(ListView.java:1246)
at android.widget.ListView.onMeasure(ListView.java:1158)
at android.view.View.measure(View.java:15513)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4827)
Run Code Online (Sandbox Code Playgroud)

这是我的适配器:

import java.util.List;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.client.alm.model.WorkItem;
import com.client.alm.model.WorkItemContainer;

public class WorkItemAdapter extends ArrayAdapter<WorkItem> {

    private WorkItemContainer container;
    private Context context;
    int layoutResourceId;

    public WorkItemAdapter(Context context, int layoutResourceId,
            WorkItemContainer container) {
        super(context, layoutResourceId, container.getWorkitems());
        this.layoutResourceId = layoutResourceId;
        this.context = context;
        this.container = container;
    }

    static class ViewHolder {
        ImageView …
Run Code Online (Sandbox Code Playgroud)

android android-arrayadapter android-listview

0
推荐指数
1
解决办法
1885
查看次数

无法从ArrayAdapter中更新数据

我使用带有a的数组适配器显示线性布局列表.布局有3个文本字段和一个隐藏按钮,单击列表项时会显示该按钮.我想要做的是将onclicklistener附加到按钮,该按钮将从arraylist/adapter中删除该行并更新数据集.我有以下代码:

public class CheckAdapter extends ArrayAdapter<Check> {
    Context context;
    int layoutResourceId;
    ArrayList<Check> data = null;

    public CheckAdapter(Context context, int resource, ArrayList<Check> objects) {
        super(context, resource, objects);
        this.context = context;
        this.layoutResourceId = resource;
        this.data = objects;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder = null;

        if(convertView == null){
            LayoutInflater inflater = ((Activity)context).getLayoutInflater();
            convertView = inflater.inflate(layoutResourceId, parent, false);

            holder = new ViewHolder(convertView.findViewById(R.id.checklistRoot));
            holder.checkName = (TextView) convertView.findViewById(R.id.checklistname);
            holder.checkNumber = (TextView) convertView.findViewById(R.id.checklistnumber);
            holder.checkTotal = (TextView) convertView.findViewById(R.id.checklisttotal);
            holder.deleteButton = …
Run Code Online (Sandbox Code Playgroud)

android android-arrayadapter android-listview notifydatasetchanged

0
推荐指数
1
解决办法
316
查看次数

带有ArrayAdapter的ListView只显示高度wrap_content的1项

我有一个问题,我的ListView只显示一行,即使包含数据的ArrayList有2个项目.

为了澄清,是的,我在ScrollView中使用ListView但是为了平衡它我正在使用自定义的ExpandableHeightListView(从SO上的一个答案中检索),这对于这个目的非常有用.此ListView不可滚动.它有固定的高度.

此外,在相同的ScrollView中,其他几个ListView工作正常,但这一个ListView无法正常工作.

更进一步,当我在getView()方法中记录位置变量值时,对于此ListView,它始终为0,而​​对于其他ListView,它按顺序递增.

我比较了两个Adapter的代码,它们是相同的但仍然是当前的ListView无法正常工作.

我尝试重写getView()方法,但无济于事.

任何帮助赞赏.

编辑

如果我给ListView提供固定高度,如250dp,则两行都会显示,但它只显示1行,高度设置为 wrap_content

android listview android-arrayadapter android-layout android-listview

0
推荐指数
1
解决办法
5056
查看次数

无法从静态上下文引用非静态字段

我有一个类作为静态的一些属性,类是静态的,但我得到的错误是字段不是静态的.

我无法找到解决方案,我看到的示例看起来非常相似.视图保持器始终在适配器内部作为静态公共静态

这是我的ArrayAdapter:

public class NoteAdapter extends ArrayAdapter<Note> {

public static class ViewHolder{
    TextView noteTitle;
    TextView noteBody;
    ImageView noteIcon;
}

public NoteAdapter(Context context, ArrayList<Note> notes) {
    super(context, 0, notes);
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    Note note = getItem(position);
    ViewHolder viewHolder;

    if (convertView == null) {
        viewHolder = new ViewHolder();
        convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_row, parent, false);

        // == Here I am getting the error == 
        ViewHolder.noteTitle = (TextView) convertView.findViewById(R.id.text_item_note_title);
        ViewHolder.noteBody = (TextView) convertView.findViewById(R.id.text_item_note_body); …
Run Code Online (Sandbox Code Playgroud)

java android android-arrayadapter android-viewholder

0
推荐指数
1
解决办法
2383
查看次数

NotifyDataSetChanged在我的代码中不起作用

adapter.notifyDataSetChanged(); 我没有在android中工作我正在检索for循环中的值,但值没有显示在屏幕上.我的java文件:

private static final String TAG_NAME="Notification";
String[] resultsAsString = {""};
ListView listView;
ArrayAdapter<String> adapter;
adapter = new ArrayAdapter<String>(this,
    android.R.layout.simple_list_item_1, resultsAsString);
    ParseQuery<ParseObject> parseObjectParseQuery=new ParseQuery<ParseObject>("PushNotifications");
    parseObjectParseQuery.findInBackground(new FindCallback<ParseObject>() {
        @Override
        public void done(List<ParseObject> objects, ParseException e) {
            if (e==null){
                resultsAsString = new String[objects.size()];
                Log.d(TAG_NAME,"Objects size in MyService is:"+objects.size());

                if(objects.size()>0){
                    Log.d(TAG_NAME,"Object size is "+objects.size());
                    for(int index = 0; index < objects.size(); index++){
                        resultsAsString[index] = objects.get(index).getString("Message");
                        Log.d(TAG_NAME,"result value is:"+resultsAsString[index]);
                    }
                    adapter.notifyDataSetChanged();
                }else {
                    Log.d(TAG_NAME,"Object size is "+objects.size());
                }
            }
        }
    });
listView = (ListView) …
Run Code Online (Sandbox Code Playgroud)

android listview android-arrayadapter

0
推荐指数
1
解决办法
274
查看次数

如何从ListView适配器中的视频URL加载视频缩略图

我有一个ListView,我想用视频形式填充URL.我可以从URL轻松地在ListView适配器中显示图片,但是如何加载视频缩略图?

android listview android-arrayadapter listview-adapter android-videoview

0
推荐指数
1
解决办法
3494
查看次数

ListViewAdapter随机播放项目

所以我有一个listview从基于Room的SQLite数据库中提取数据.它看起来很好地读取数据,但是当页面加载时我会得到前10个条目(显示的大小),当我尝试向下滚动列表视图时,它会重新开始并开始获取条目在列表的开头再次.屏幕截图上的红色圆圈显示了列表的顶部和底部以及存在的重复.

public class NeighborhoodListAdapter
    extends ArrayAdapter<LivingCity> {

    private List<LivingCity> neighborhood;
    Context context;

    // View lookup cache
    private static class ViewHolder {
        TextView cityName;
    }

    public NeighborhoodListAdapter(List<LivingCity> neighborhood, Context context) {
        super(context, R.layout.object_main_citydetailsrow, neighborhood);
        this.context = context;
        this.neighborhood = neighborhood;
    }

    @NonNull
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // Get the data item for this position
        LivingCity city = getItem(position);
        ViewHolder viewHolder; 

        if (convertView == null) {

            viewHolder = new ViewHolder();
            LayoutInflater inflater = LayoutInflater.from(getContext());
            convertView = …
Run Code Online (Sandbox Code Playgroud)

android listview android-arrayadapter custom-arrayadapter

0
推荐指数
1
解决办法
49
查看次数