标签: android-arrayadapter

ArrayAdapter getView()方法如何工作?

我想做一个ArrayAdapter显示图像和文字.如果可能,我不想要例子.我希望有人向我解释getView()工作原理.

谢谢.

android android-arrayadapter

37
推荐指数
2
解决办法
3万
查看次数

ListView:setItemChecked仅适用于标准ArrayAdapter - 在使用自定义ArrayAdapter时不起作用?

这真的很奇怪.

当我使用标准ArrayAdapter进行ListView调用时,setItemChecked工作正常

但是当使用定制的ArrayAdapter时却没有.

那是什么原因?这是一个错误吗?或者我错过了什么?

public class Test_Activity extends Activity {

    /** Called when the activity is first created. */
    private List<Model> list;
    private ListView lView;

    public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    // Create an array of Strings, that will be put to our ListActivity
    setContentView(R.layout.main);
    lView = (ListView) findViewById(R.id.ListView01);
    lView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

    list = getModel();

    //with this adapter setItemChecked works OK
    lView.setAdapter(new ArrayAdapter<Model>(this,
        android.R.layout.simple_list_item_multiple_choice, list));


  //**************************
    //PROBLEM: with this adapter it does not check any items on the screen
    // ArrayAdapter<Model> adapter …
Run Code Online (Sandbox Code Playgroud)

android listview android-arrayadapter

37
推荐指数
2
解决办法
4万
查看次数

37
推荐指数
2
解决办法
4万
查看次数

android中自定义ArrayAdapter中的自定义getFilter

我在自定义arrayAdapter中实现自定义getFilter时遇到问题.实际上我不知道如何实现它.试过各种代码,但仍然没有运气.这是我的自定义数组适配器.

package com.test.FilterableList.Adapters;

import java.util.ArrayList;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

import com.test.FilterableList.Models.ListTO;
import com.test.FilterableList.R;

import android.widget.Filterable;


public class FilterableAdapter extends ArrayAdapter<ListTO> implements Filterable {

    // declaring our ArrayList of items
    public ArrayList<ListTO> objects;

    /* here we must override the constructor for ArrayAdapter
    * the only variable we care about now is ArrayList<Item> objects,
    * because it is the list of objects we want to display.
    */
    public FilterableAdapter(Context context, int textViewResourceId, ArrayList<ListTO> objects) …
Run Code Online (Sandbox Code Playgroud)

android android-arrayadapter android-listview

37
推荐指数
4
解决办法
4万
查看次数

如何使ArrayAdapter遵循ViewHolder模式?

这是我的ArrayAdapter.我希望通过遵循ViewHolder模式来提高效率:

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List14.html

但我不确定如何做到这一点.

更新:ViewHolder模式

private class QuoteAdapter extends ArrayAdapter<Quote> {

    private ArrayList<Quote> items;
    // used to keep selected position in ListView
    private int selectedPos = -1; // init value for not-selected

    public QuoteAdapter(Context context, int textViewResourceId, ArrayList<Quote> items) {
        super(context, textViewResourceId, items);
        this.items = items;
    }

    public void setSelectedPosition(int pos) {
        selectedPos = pos;
        // inform the view of this change
        notifyDataSetChanged();
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;
        ViewHolder holder; // …
Run Code Online (Sandbox Code Playgroud)

java android listview android-arrayadapter

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

当ArrayAdapter.isEnabled返回false时,ListView中的分隔符消失

ListActivity和我自己的ArrayAdapter班级一起使用.当我覆盖方法时ArrayAdapter.areAllItemsEnabled(),ArrayAdapter.isEnabled()列表视图中某些单元格之间的分隔符消失.有谁知道如何避免这种情况?即使对于残疾细胞,我也需要显示分频器.

user-interface android listview android-arrayadapter

33
推荐指数
2
解决办法
9545
查看次数

ArrayAdapter.getPosition(item)返回什么?

我看到文档说这个方法返回给定项的位置,但是如果ArrayAdapter中不存在这样的项,它会返回什么?

android position android-arrayadapter

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

可以动态更改ListView的适配器吗?

相反,创建多个活动,我想改变ArrayAdapter的的ListView需要.我没有在API中看到有关提及是否可以setAdapter()多次调用的问题.

更具体地说,我想开始一项有活动的活动ListView.在这个例子中,ListViewlistView.setAdapter(this)from,比如a 来初始化CategoryArrayAdapter.

然后用户选择一个类别.在不启动新活动的情况下,代码将为其设置新的适配器ListView.新的适配器,说ItemArrayAdapter电话listView.setAdapter(this).

是否有人有成功完成此操作的经验或知道为什么不应该这样做的具体原因?

android listview listadapter android-arrayadapter

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

android.R.layout.simple_spinner_dropdown_item与android.R.layout.simple_spinner_item的区别

这是在android中使用微调器的示例代码:

Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.gender_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

我已经明白我们需要为适配器中的数据行指定布局

但为什么再次使用setDropDownViewResource()方法.我的意思是这个函数做了什么,并告诉我它是如何与...的构造函数不同ArrayAdapter.

我已经阅读了文档,但完全不了解.

java android spinner android-arrayadapter

30
推荐指数
2
解决办法
3万
查看次数

ListView中的自定义过滤ArrayAdapter

我是Android的初学者,但我尝试进行自定义列表视图过滤,我以某种方式工作.我唯一的问题是我保留所有值("原始"ArrayList)的ArrayList在每个过滤中的项目上越来越低.我无法解释这一点,但我认为你可以以某种方式帮助我.

无论如何这里是Custom ArrayAdaptor:

public class PkmnAdapter extends ArrayAdapter<Pkmn> {

private ArrayList<Pkmn> original;
private ArrayList<Pkmn> fitems;
private Filter filter;

public PkmnAdapter(Context context, int textViewResourceId, ArrayList<Pkmn> items) {
        super(context, textViewResourceId, items);
        this.original = items;//new ArrayList<Pkmn>();
        this.fitems = items;//new ArrayList<Pkmn>();
}

@Override
public void add(Pkmn item){
    original.add(item);
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;
        if (v == null) {
            LayoutInflater vi = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.row, null);
        }
        Pkmn pkmn = original.get(position);
        if (pkmn != …
Run Code Online (Sandbox Code Playgroud)

android filter android-arrayadapter android-listview

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