작업 표시 줄에서 조각 어댑터 필터링

localhost

편집 ...

검색보기에서 어댑터를 필터링하려고합니다. 나는 내가 가진 것이 가깝다는 것을 알고 있지만 거기에는 그렇지 않습니다. 아래 코드와 함께이 오류 메시지가 표시됩니다.

LogCat

W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x40f0f2a0)
E/AndroidRuntime: FATAL EXCEPTION: main java.lang.NullPointerException at ---$FreeAgentPagerAdapter.getCount(---.java:403)
    at android.support.v4.view.ViewPager.dataSetChanged(ViewPager.java:813)
    at android.support.v4.view.ViewPager$PagerObserver.onChanged(ViewPager.java:2688)
    at android.database.DataSetObservable.notifyChanged(DataSetObservable.java:37)
    at android.support.v4.view.PagerAdapter.notifyDataSetChanged(PagerAdapter.java:276)
    at ---$FreeAgentPagerAdapter$1.publishResults(---.java:434)

SearchView

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.in_game, menu);

    MenuItem searchItem = menu.findItem(R.id.action_search);
    mSearchView = (SearchView) searchItem.getActionView();
    setupSearchView(searchItem);

    if (mState == 0) {
        menu.findItem(R.id.action_search).setVisible(false);
    }

    return true;
}

private void setupSearchView(MenuItem searchItem) {

    if (isAlwaysExpanded()) {
        mSearchView.setIconifiedByDefault(false);
    } else {
        searchItem.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
    }

    mSearchView.setOnQueryTextListener(this);
}

String newText = "";
public boolean onQueryTextChange(String newText) {
    Toast.makeText(getBaseContext(), "Query = " + newText, Toast.LENGTH_SHORT).show();
    return false;
}

public boolean onQueryTextSubmit(String query) {
    Adapter.getFilter().filter(newText.toString());
    return false;
}

protected boolean isAlwaysExpanded() {
    return false;
}

어댑터

public class AdapterFragment extends Fragment {

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment, container, false);
        ViewPager = (ViewPager) rootView.findViewById(R.id.Pager);
        Adapter = new PagerAdapter(getChildFragmentManager());
        ViewPager.setAdapter(Adapter);
        return rootView;
    }
}

public class PagerAdapter extends FragmentStatePagerAdapter {

    private List TITLES = new ArrayList();

    private Map ReferenceMap;

    public PagerAdapter(FragmentManager fm) {
        super(fm);

        ReferenceMap = new HashMap();

        TEST.add("TESTING");
        for (Test test : test.getTest()) {
            TEST.add(test.getTest());
        }
    }

    @Override
    public CharSequence getTitle(int i) {
        return TEST.get(i);
    }

    @Override
    public int getCount() {
        return TEST.size();
    }

    @Override
    public Fragment getItem(int i) {
        Fragment Fragment = Fragment.newInstance(test.getId(), TEST.get(i));
        ReferenceMap.put(i, (Fragment) Fragment);
        return Fragment;
    }

    public FiltaddDropFragmentlter() {
        return new Filter() {
            @SuppressWarnings("unchecked")
            @Override
            protected void publishResults(CharSequence constraint, FilterResults results) {
                Toast. makeText(getBaseContext(), "Publishing " + constraint, Toast.LENGTH_LONG).show();
                TEST = (List<String>) results.values;
                Adapter.notifyDataSetChanged();
            }

            @Override
            protected FilterResults performFiltering(CharSequence constraint) {
                Toast.makeText(getBaseContext(), "Filtering " + constraint, Toast.LENGTH_LONG).show();
                List<String> filteredResults = getFilteredResults(constraint);

                FilterResults results = new FilterResults();
                results.values = filteredResults;

                return results;
            }
        };
    }

}

private List<String> getFilteredResults(CharSequence constraint) {
    return null;
}

누군가 내가 뭘 잘못하고 있는지 지적 할 수 있을까요? 나는 이것을 살펴보기 위해 두 번째 눈이 필요하다고 생각합니다. 무엇을 다르게해야하며 최선의 방법으로 어떻게해야합니까?

카라 쿠리

세 단계 :

  1. 를 확장하는 새 클래스 (또는 어댑터의 정적 내부 클래스)를 Filter만듭니다. performFiltering()방법을 구현하십시오 .
  2. publishResults()목록 데이터를 교환하고 notifyDataSetChanged()어댑터를 호출 하는 방법을 구현하십시오.
  3. 어댑터가 Filterable인터페이스를 구현하도록 하고 getFilter()메소드를 정의하십시오 . 1 단계에서 만든 새 필터 클래스의 인스턴스를 반환해야합니다.

performFiltering백그라운드 스레드에서 처리되고 publishResultsUI 스레드에서 호출됩니다.

목록 필터링을 배우는 데 도움이되는 샘플 코드를 찾고 있습니다. 찾으면 링크를 게시하겠습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

사용자 지정 어댑터 클래스 내에서 작업 표시 줄 메뉴 업데이트

분류에서Dev

ListView 어댑터에서 조각 TextView 업데이트

분류에서Dev

작업 표시 줄에있는 편집 텍스트를 사용하여 탭 조각의 목록 항목 필터링

분류에서Dev

조각에서 RecyclerView 어댑터 알림

분류에서Dev

어댑터에서 바텀 시트 조각에 TextView 자리 표시자를 설정하는 방법

분류에서Dev

조각에 어댑터 설정

분류에서Dev

작업 표시 줄에 각 모니터에 대한 해당 아이콘 표시

분류에서Dev

ListView에 어댑터 비동기 조작

분류에서Dev

RecyclerView를 사용하여 어댑터에서 OnClickListener를 설정하여 조각 내부에 표시하는 방법

분류에서Dev

fragment- firebaserecycler 어댑터가 조각에서 작동하지 않습니다.

분류에서Dev

이미지 어댑터를 조각에 복사 한 후 이미지가 표시되지 않습니다.

분류에서Dev

Android : 조각에서 선택한 작업 표시 줄 탭 결정

분류에서Dev

RecyclerView 어댑터에 FragmentDialog 표시

분류에서Dev

한 조각에만 표시되는 지원 작업 표시 줄

분류에서Dev

작업 표시 줄의 터치 아이콘에서 wxpython 충돌

분류에서Dev

어댑터 조각 나열

분류에서Dev

다른 어댑터에서 작업 등 어댑터를 호출하는 방법

분류에서Dev

시작 화면 조각에서 작업 표시 줄을 숨기는 방법

분류에서Dev

필터링 작업시 pyspark 작업에서 두 개의 rdd 결합

분류에서Dev

Windows 10 보조 모니터 작업 표시 줄 숨기기

분류에서Dev

조각에서 조각으로 메서드 호출 (어댑터 새로 고침)

분류에서Dev

어댑터의 조각에서 요소 호출

분류에서Dev

ViewPager의 조각에서 어댑터 호출

분류에서Dev

리사이클 러 어댑터에서 조각 교체

분류에서Dev

어댑터에서 조각을 호출하는 방법

분류에서Dev

Android : 조각의 어댑터가 작동하지 않음

분류에서Dev

사용자 정의 기본 어댑터> getView [IMG INCLUDED]에서 버튼 클릭시 대화 상자 조각 실행

분류에서Dev

Viewpager 다시로드 어댑터의 강제 조각

분류에서Dev

어댑터 클래스에서 FragmentActivity 시작

Related 관련 기사

  1. 1

    사용자 지정 어댑터 클래스 내에서 작업 표시 줄 메뉴 업데이트

  2. 2

    ListView 어댑터에서 조각 TextView 업데이트

  3. 3

    작업 표시 줄에있는 편집 텍스트를 사용하여 탭 조각의 목록 항목 필터링

  4. 4

    조각에서 RecyclerView 어댑터 알림

  5. 5

    어댑터에서 바텀 시트 조각에 TextView 자리 표시자를 설정하는 방법

  6. 6

    조각에 어댑터 설정

  7. 7

    작업 표시 줄에 각 모니터에 대한 해당 아이콘 표시

  8. 8

    ListView에 어댑터 비동기 조작

  9. 9

    RecyclerView를 사용하여 어댑터에서 OnClickListener를 설정하여 조각 내부에 표시하는 방법

  10. 10

    fragment- firebaserecycler 어댑터가 조각에서 작동하지 않습니다.

  11. 11

    이미지 어댑터를 조각에 복사 한 후 이미지가 표시되지 않습니다.

  12. 12

    Android : 조각에서 선택한 작업 표시 줄 탭 결정

  13. 13

    RecyclerView 어댑터에 FragmentDialog 표시

  14. 14

    한 조각에만 표시되는 지원 작업 표시 줄

  15. 15

    작업 표시 줄의 터치 아이콘에서 wxpython 충돌

  16. 16

    어댑터 조각 나열

  17. 17

    다른 어댑터에서 작업 등 어댑터를 호출하는 방법

  18. 18

    시작 화면 조각에서 작업 표시 줄을 숨기는 방법

  19. 19

    필터링 작업시 pyspark 작업에서 두 개의 rdd 결합

  20. 20

    Windows 10 보조 모니터 작업 표시 줄 숨기기

  21. 21

    조각에서 조각으로 메서드 호출 (어댑터 새로 고침)

  22. 22

    어댑터의 조각에서 요소 호출

  23. 23

    ViewPager의 조각에서 어댑터 호출

  24. 24

    리사이클 러 어댑터에서 조각 교체

  25. 25

    어댑터에서 조각을 호출하는 방법

  26. 26

    Android : 조각의 어댑터가 작동하지 않음

  27. 27

    사용자 정의 기본 어댑터> getView [IMG INCLUDED]에서 버튼 클릭시 대화 상자 조각 실행

  28. 28

    Viewpager 다시로드 어댑터의 강제 조각

  29. 29

    어댑터 클래스에서 FragmentActivity 시작

뜨겁다태그

보관