标签: baseadapter

为什么图像会在listview中重复并自动附加?

这个类扩展了baseadapter

public View getView(int position, View convertView, ViewGroup parent) {
    if (!imagepath[position].toString().equals("no picture")) {
        imageLoader.DisplayImage(imagepath[position], imageview);
    }
}

public void DisplayImage(String url, ImageView imageView) {
    imageViews.put(imageView, url);
    Bitmap bitmap = memoryCache.get(url);
    if (bitmap != null) {
        imageView.setImageBitmap(bitmap);
    } else {
        queuePhoto(url, imageView);
    }
}
Run Code Online (Sandbox Code Playgroud)

假设第一个视图应首先检查显示,但现在检查后显示.

if (!imagepath[position].toString().equals("no picture")) {

        titletext.setPadding(imageview.getWidth() + 5, 0, 0, 0);
        datetext.setPadding(imageview.getWidth() + 5, 0, 0, 0);
        imageview.setVisibility(View.VISIBLE);
        imageLoader.DisplayImage(imagepath[position], imageview);
    } else {
        imageview.setVisibility(View.INVISIBLE);
        imageview.setImageDrawable(null);
        titletext.setPadding(0, 0, 0, 0);
        datetext.setPadding(0, 0, 0, 0);
    }

    titletext.setText(title[position].toString());
    categorytext.setText(category[position].toString()); …
Run Code Online (Sandbox Code Playgroud)

android imageview baseadapter

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

在视图持有人文本视图中设置文本从arraylist

我正在实现列表视图,我有用户BaseAdapter class.i我试图从数组列表中的holder文本视图字段中setText但没有任何成功.Problem在getView方法的HashMap<String, ArrayList<String>> map = list.get(position); holder.txtFirst.setText(map.get(FIRST_COLUMN).toString()); 部分.
编辑: 我的主要活动类(postExecute方法),我在其中设置列表适配器类的键和值.代码如下:

protected void onPostExecute(ArrayList<ArrayList<String>> result) {

        ArrayList<String> conceptID = new ArrayList<String>(result.get(0));
        ArrayList<String> conceptDesc = new ArrayList<String>(result.get(1));

        listForSearchConcepts = new ArrayList<HashMap<String,ArrayList<String>>>();
        HashMap<String, ArrayList<String>> temp = new HashMap<String,ArrayList<String>>();
        temp.put(FIRST_COLUMN,conceptID);
        listForSearchConcepts.add(temp);
        temp.put(SECOND_COLUMN,conceptDesc);
        listForSearchConcepts.add(temp);
        listviewAdapter adapter = new listviewAdapter(MainActivity.this, listForSearchConcepts);
        listView.setAdapter(adapter);
    }`   
Run Code Online (Sandbox Code Playgroud)

但下面是我的适配器类代码:

public class listviewAdapter extends BaseAdapter
{
public ArrayList< HashMap < String,ArrayList < String > > > list;
Activity activity;

public listviewAdapter(Activity activity, ArrayList<HashMap<String,ArrayList<String>>> listForSearchConcepts) {
    super();
    this.activity = activity; …
Run Code Online (Sandbox Code Playgroud)

android arraylist hashmap baseadapter

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

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
查看次数

如何将数组列表限制为 10 个并在单击更多时显示接下来的 10 个项目

我正在添加 中的所有项目arrayList,现在我只想在我的回收站视图中显示 10 个项目并单击更多 10 个等等。我想使用相同的arrayList.

android arraylist baseadapter

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

使用listiview取消滚动选中的复选框

在我的应用程序添加checkboxListView,我也给限制了checkbox,用户不能超过5个选择checkbox,但问题是我的滚动选择checkbox得到选中下面是我的代码段,任何一个可以帮助我这个

public class CustomAdapter extends BaseAdapter {

    private LayoutInflater inflater = null;
    Context context;

    String rup = "\u20B9";
    private ArrayList<ModelPooja> listData;
    boolean checked[];

    public CustomAdapterPooja(Context mainActivity, ArrayList<ModelPooja> listData) {
        // TODO Auto-generated constructor stub

        context = mainActivity;
        this.listData = listData;
        inflater = (LayoutInflater) context.
                getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        checked = new boolean[listData.size()];
        for (int i = 0; i < checked.length; i++) {
            checked[i] = listData.get(i).isselected;
        }

    }

    @Override
    public int getCount() {
        // …
Run Code Online (Sandbox Code Playgroud)

android listview baseadapter android-checkbox

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

如何在Android中将多个ArrayList传递给BaseAdapter?

我试图传递一些动态数据来BaseAdapter显示它listview.(使用ArrayList),我当前的代码给我以下错误:

错误:

error: cannot find symbol variable ArrayList
error: cannot find symbol variable String
Run Code Online (Sandbox Code Playgroud)

指向这部分代码(ArrayList <String>):

CustomAdapter customAdapter = new CustomAdapter(getApplicationContext(), ArrayList<String> NameArrayList, ArrayList<String> IconArrayList);
Run Code Online (Sandbox Code Playgroud)

我检查了Arraylist大小,发现IconArrayList和NameArrayList不是空的,使用int itemCount = IconArrayList.size();

但是如果我将下面的静态字符串数组传递给Baseadapter,那么它会在listview上显示数据!

String NameArrayList[] = {"USA", "China", "australia", "Portugle", "Norway", "NewZealand"};
String IconArrayList[] = {"http://awebsite.com/icons/usa.png", "http://awebsite.com/icons/china.png", "http://awebsite.com/icons/australia.png", "http://awebsite.com/icons/portugle.png", "http://awebsite.com/icons/norway.png", "http://awebsite.com/icons/new_zealand.png"};

CustomAdapter customAdapter = new CustomAdapter(getApplicationContext(), NameArrayList, IconArrayList);
Run Code Online (Sandbox Code Playgroud)

你能帮助我解决上面的错误并成功地将arraylist传递给baseAdapter,以便显示它.谢谢你提前.

MainActivity.java:

import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;

import android.view.View;
import android.widget.AdapterView;
import android.widget.Toast;

import android.os.StrictMode;
import android.os.StrictMode.ThreadPolicy.Builder;

import …
Run Code Online (Sandbox Code Playgroud)

android listview arraylist baseadapter

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

向ListView添加新行会使其上方的行消失

我有一个使用自定义BaseAdapter(MyBaseAdapter)填充的ListView:

public class MyBaseAdapter extends BaseAdapter
{

    private View renderer;

    List<MyItemModel> items;

    public MyBaseAdapter(View renderer) {
        this.renderer = renderer;
    }

    public void setModel(List<MyItemModel> items)
    {

        this.items = items;
        notifyDataSetChanged();
    }


    @Override
    public int getCount()
    {

        return items != null ? items.size() : 0;
    }


    @Override
    public Object getItem(int position)
    {

        return items != null ? items.get(position) : null;
    }


    @Override
    public long getItemId(int position)
    {

        return items != null ? items.get(position).id : -1;
    }


    @Override
    public View getView(int position, View …
Run Code Online (Sandbox Code Playgroud)

android listview baseadapter

-1
推荐指数
1
解决办法
1108
查看次数

ListView.setAdapter - java.lang.NullPointerException

可以有人解释我,为什么我在尝试setAdapter时有java.lang.NullPointerException?

当我尝试设置适配器时,我的arraylist已经填满了.我做错了什么?

谢谢!

activity_view_list.xml

<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical">
    <ListView
            android:id="@+id/lvView"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1">
    </ListView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
    <ImageView
            android:id="@+id/ivImage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_launcher">
    </ImageView>
    <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_marginLeft="5dp"
            android:layout_weight="1"
            android:orientation="vertical">
        <TextView
                android:id="@+id/tvDescr"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:text=""
                android:textSize="20sp">
        </TextView>
    </LinearLayout>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我的产品类

package com.shvedchenko.skleroshop;

/**
 * Created by dima on 14.08.13.
 */

public class Product {

    String name;
    int image;


    Product(String _describe, int _image) {
        name = _describe;
        image = _image;
    }

} …
Run Code Online (Sandbox Code Playgroud)

java android arraylist baseadapter

-2
推荐指数
1
解决办法
1万
查看次数

OnItemClickListener 不适用于 BaseAdapter

我正在尝试将可点击列表添加到我的第一个带有自定义适配器的 android 应用程序中,一切都很好,但是当我使用时

mItemList.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            // TODO Auto-generated method stub
            Toast.makeText(getApplicationContext(), "Clicked", Toast.LENGTH_LONG).show();
            Log.d("error", "error here");   
        }
    });
Run Code Online (Sandbox Code Playgroud)

但是没有响应没有吐司没有错误尽管列表显示良好

定制适配器

 public class ItemListAdapter extends BaseAdapter {
public Context context;
public ArrayList<ItemModel> items;
.....
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View grid;
LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    if (convertView == null ) {
        grid = new View(context);
        grid = mInflater.inflate(R.layout.item, null);
Button bt = …
Run Code Online (Sandbox Code Playgroud)

android baseadapter onitemclick

-2
推荐指数
1
解决办法
1180
查看次数