마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

리스트뷰 특정단어 필터링

0 추천

지난 번에 질문을 했는데 궁금증이 풀리지 않아 다시 질문 합니다..

제가 이미지뷰 옆에 텍스트뷰 이렇게 있는 리스트뷰를 만들었습니다.

그 listview에 설치된 앱 목록을 가져오는 것까지 했습니다. 앱 목록들 중에서 앱 이름에 특정단어 (예를 들어 "팡"이란 단어가 들어가는 listview row들만 가져오고 싶은데요...

설치된 앱들 중 앱 이름에 '팡'자가 들어간 listview의 row position값을 불러와서 그 row들만 listview로 나오게 하고 싶은데...

고수님들의 도움을 받아 여기까지 했습니다.

        mShoppingListView = (ListView)findViewById(R.id.translistview);
        mListData = new ArrayList<ListBean>();

        final PackageManager pm = getPackageManager();

        List<ApplicationInfo> list = pm.getInstalledApplications(0);
        for (ApplicationInfo applicationInfo : list) {
            String name = String.valueOf(applicationInfo.loadLabel(pm));// 앱 이름

            if (TextUtils.isEmpty(name) || name.contains("팡") == false) {

                   continue;

            }
            String pName = applicationInfo.packageName;   // 앱 패키지
            Drawable iconDrawable = applicationInfo.loadIcon(pm);   // 앱 아이콘
            mListData.add(new ListBean(iconDrawable, name, ""));
}

ItemListAdapter adapter = new ItemListAdapter(this,mListData);
mShoppingListView.setAdapter(adapter);

그런데 이 두줄에서 자꾸 에러가 생기는데 왜그런지 잘 모르겠습니다.

null pointerException 이렇게 뜨네요..;; 초보인지라 도와주세요ㅠ-ㅠ 고수님들...

익명사용자 님이 2016년 1월 10일 질문

1개의 답변

0 추천
올려주신 코드상은 딱히 문제가 안 보입니다.

setContentView 를 호출 안하여 참조할 레이아웃 설정이 안되었거나, translistview 이름의 ListView 가 없어

mShoppingListView를 구하지 못해 NullPointerExcepion이 발생한 것으로 생각되니, 그 쪽을 확인 해 보세요.
익명사용자 님이 2016년 1월 11일 답변
아 정말 감사드려요ㅠㅠ
여기서 한 가지만 더 여쭈어 봐도 될까요??

if (TextUtils.isEmpty(name) || name.contains("팡") == false) {

                   continue;
여기서 "팡"이 들어간 것과 "방" , "직"이란 단어가 들어간 것 모두 listview에 나타내고 싶을때는 어떻게 해야하나요?!

|| 이거 써서 연결하는 건가요??!
...