相关疑难解决方法(0)

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

过滤后ListView不更新

我有一个ListView(带有setTextFilterEnabled(true))和一个自定义适配器(扩展ArrayAdapter),每当添加/插入新项目时,我都会从主UI线程更新.一切都工作正常 - 新项目立即显示在列表中.但是,当我尝试过滤列表时,这就停止了.

过滤工作,但我做了一次,我所有成功修改列表内容(添加,删除)的尝试都不再显示.我使用Log来查看适配器的列表数据是否得到了正确的更新,但确实如此,但它不再与显示的ListView同步.

是什么导致了这个以及如何最好地解决这个问题?

android listview filtering filter android-arrayadapter

14
推荐指数
1
解决办法
9989
查看次数

如何覆盖android.R.layout.simple_list_item_multiple_choice的样式?

我使用adapter = new SimpleCursorAdapter(这个,android.R.layout.simple_list_item_multiple_choice,cur,cols,views)来创建一个多选控件,但我不满足于多选控件中textview的样式,所以我必须使用以下代码来创建多选控件的新布局.它运作良好,但我认为这不是一个好方法,有没有好的代码?谢谢!

adapter = new SimpleCursorAdapter(this,R.layout.mysimple_list_item_multiple_choice,cur,cols,views);

lv.setAdapter(adapter);
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
Run Code Online (Sandbox Code Playgroud)

mysimple_list_item_multiple_choice.xml

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:gravity="center_vertical"
    android:checkMark="?android:attr/listChoiceIndicatorMultiple"
    android:paddingLeft="6dip"
    android:paddingRight="6dip"
    android:ellipsize="end"
    android:singleLine="true"

/>
Run Code Online (Sandbox Code Playgroud)

android

5
推荐指数
1
解决办法
3311
查看次数

在Fragment里面的ListView中实现搜索

嘿伙计们我想在一个内置到片段中的listview中实现搜索功能listview工作正常但是当我在edittext上键入搜索时它会消失

我的代码:

public class DrinksFragment extends Fragment {

    private View rootView;
    private ArrayAdapter<DrinksList> adapter;
    private List<DrinksList> drinks;
    private ListView lv;
    ArrayList<DrinksList> mAllData;
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        rootView = inflater.inflate(R.layout.activity_drinks_fragment, container, false);
        populateDrinksList();
        doSearch();
        return rootView;
    }

    private void doSearch() {
        final EditText et = (EditText)rootView.findViewById(R.id.searchListDrinks);
        et.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) …
Run Code Online (Sandbox Code Playgroud)

android listview android-listview android-fragments

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

使用getFilter函数时,ListView为空白

我想实现getFilter()我的功能ListView,但每次我输入的东西EditTextListView就会消失.

我的SetHelpRows档案:

public class SetHelpRows {
    String name;
    String id;

    public String getName () {
        return name;
    }

    public void setName (String name) {
        this.name = name;
    }

    public String getID () {
        return id;
    }

    public void setID (String id) {
        this.id = id;
    }

    public SetHelpRows(String name, String id) {
        super();
        this.name = name;
        this.id = id;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的SetHelpRowsCustomAdapter档案:

import java.util.ArrayList;

import android.app.Activity;
import android.content.Context; …
Run Code Online (Sandbox Code Playgroud)

java android listview

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