일부보기의 어댑터 오류

감각

앱을 시작할 때 오류가 발생했습니다. 데이터, 어댑터,이 어댑터의 행에 대한 모델을 생성하고, 목록보기를 생성하고이 어댑터를 설정했습니다. 문제가 무엇인지 이해하지 못하고이를 방지하기 위해 무엇을해야하는지 모르겠습니다. 어댑터가 있습니다.

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import java.util.ArrayList;


public class ListViewAdapter extends ArrayAdapter<Model> {

    private final Context context;
    private final ArrayList<Model> modelsArrayList;

    public ListViewAdapter(Context context, ArrayList<Model> modelsArrayList) {

        super(context, R.layout.row_listview, modelsArrayList);

        this.context = context;
        this.modelsArrayList = modelsArrayList;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        // 1. Create inflater
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        // 2. Get rowView from inflater

        View rowView = null;
        if(!modelsArrayList.get(position).isGroupHeader()){
            rowView = inflater.inflate(R.layout.row_listview, parent, false);

            // 3. Get icon,title & counter views from the rowView
            ImageView imgView = (ImageView) rowView.findViewById(R.id.iconlistview);
            TextView titleView = (TextView) rowView.findViewById(R.id.listview_textview_name);
            TextView counterView = (TextView) rowView.findViewById(R.id.listview_textview_time);

            // 4. Set the text for textView
            imgView.setImageResource(modelsArrayList.get(position).getIcon());
            titleView.setText(modelsArrayList.get(position).getTitle());
            counterView.setText(modelsArrayList.get(position).getCounter());
        }
        else{
            rowView = inflater.inflate(R.layout.group_header_item, parent, false);
            TextView titleView = (TextView) rowView.findViewById(R.id.header);
            titleView.setText(modelsArrayList.get(position).getTitle());

        }

        // 5. retrn rowView
        return rowView;
    }
}

이 어댑터에 대한 행 :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:id="@+id/relativelayoutfootprints"

    >

    <ImageView
        android:layout_marginLeft="30dp"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:id="@+id/iconlistview"

        android:layout_centerVertical="true"


        >
    </ImageView>
    <TextView
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_toRightOf="@id/iconlistview"

        android:layout_centerVertical="true"
        android:layout_marginLeft="10dp"
android:id="@+id/listview_textview_name"
        android:textColor="@color/white"
        android:textSize="18sp"
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
android:id="@+id/listview_textview_time"
        android:layout_centerVertical="true"
        android:layout_marginRight="60dp"
        android:textSize="20sp"
        android:textColor="@color/white"
        >


    </TextView>

</RelativeLayout>

및 모델 :

public class Model{



    private int icon;
    private String title;
    private String counter;
    private boolean isGroupHeader = false;
    private boolean groupHeader = false;

    public void setIsGroupHeader(boolean isGroupHeader) {
        this.isGroupHeader = isGroupHeader;
    }



    public Model(String title) {
        this(-1,title,null);
        isGroupHeader = true;
    }
    public Model(int icon, String title, String counter) {
        super();
        this.icon = icon;
        this.title = title;
        this.counter = counter;
    }

    public int getIcon() {
        return icon;
    }

    public void setIcon(int icon) {
        this.icon = icon;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getCounter() {
        return counter;
    }

    public void setCounter(String counter) {
        this.counter = counter;
    }


    public boolean isGroupHeader() {
        return groupHeader;
    }
}

하지만 앱을 시작할 때 오류가 있습니다.

03-22 20:35:39.254 7044-7044/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                 Process: com.example.myapplication, PID: 7044
                                                 android.content.res.Resources$NotFoundException: Resource ID #0xffffffff
                                                     at android.content.res.Resources.getValue(Resources.java:1351)
                                                     at android.content.res.Resources.getDrawable(Resources.java:804)
                                                     at android.content.Context.getDrawable(Context.java:458)
                                                     at android.support.v4.content.ContextCompatApi21.getDrawable(ContextCompatApi21.java:26)
                                                     at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:321)
                                                     at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:197)
                                                     at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:190)
                                                     at android.support.v7.widget.AppCompatImageHelper.setImageResource(AppCompatImageHelper.java:66)
                                                     at android.support.v7.widget.AppCompatImageView.setImageResource(AppCompatImageView.java:71)
                                                     at com.example.myapplication.ListViewAdapter.getView(ListViewAdapter.java:46)
                                                     at android.widget.AbsListView.obtainView(AbsListView.java:2346)
                                                     at android.widget.ListView.makeAndAddView(ListView.java:1875)
                                                     at android.widget.ListView.fillDown(ListView.java:702)
                                                     at android.widget.ListView.fillFromTop(ListView.java:763)
                                                     at android.widget.ListView.layoutChildren(ListView.java:1684)
                                                     at android.widget.AbsListView.onLayout(AbsListView.java:2148)
                                                     at android.view.View.layout(View.java:16630)
                                                     at android.view.ViewGroup.layout(ViewGroup.java:5437)
                                                     at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1079)
                                                     at android.view.View.layout(View.java:16630)
                                                     at android.view.ViewGroup.layout(ViewGroup.java:5437)
                                                     at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1079)
                                                     at android.view.View.layout(View.java:16630)
                                                     at android.view.ViewGroup.layout(ViewGroup.java:5437)
                                                     at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
                                                     at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
                                                     at android.view.View.layout(View.java:16630)
                                                     at android.view.ViewGroup.layout(ViewGroup.java:5437)
                                                     at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
                                                     at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
                                                     at android.view.View.layout(View.java:16630)
                                                     at android.view.ViewGroup.layout(ViewGroup.java:5437)
                                                     at android.support.v7.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:435)
                                                     at android.view.View.layout(View.java:16630)
                                                     at android.view.ViewGroup.layout(ViewGroup.java:5437)
                                                     at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
                                                     at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
                                                     at android.view.View.layout(View.java:16630)
                                                     at android.view.ViewGroup.layout(ViewGroup.java:5437)
                                                     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
                                                     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)
                                                     at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)
                                                     at android.view.View.layout(View.java:16630)
                                                     at android.view.ViewGroup.layout(ViewGroup.java:5437)
                                                     at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
                                                     at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
                                                     at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2678)
                                                     at android.view.View.layout(View.java:16630)
                                                     at android.view.ViewGroup.layout(ViewGroup.java:5437)
                                                     at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2171)
                                                     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1931)
                                                     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
                                                     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)
                                                     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
                                                     at android.view.Choreographer.doCallbacks(Choreographer.java:670)
                                                     at android.view.Choreographer.doFrame(Choreographer.java:606)
                                                     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
                                                     at android.os.Handler.handleCallback(Handler.java:739)
                                                     at android.os.Handler.dispatchMessage(Handler.java:95)
                                                     at android.os.Looper.loop(Looper.java:148)
                                                    at android.app.ActivityThread.mai

주요 오류는 다음과 같습니다.

imgView.setImageResource(modelsArrayList.get(position).getIcon());

데이터 초기화 :

ListViewRecent = (ListView) v.findViewById(R.id.ListView_Recent);

        ListViewAdapter adapter = new ListViewAdapter(getActivity(),generateData());
ListViewRecent.setAdapter(adapter);


private ArrayList<Model> generateData(){
        ArrayList<Model> models = new ArrayList<Model>();
        models.add(new Model("Recent Updates"));
        models.add(new Model(R.drawable.emilypic,"Menu Item 1","1"));
        models.add(new Model(R.drawable.emilypic,"Menu Item 2","2"));
        models.add(new Model(R.drawable.emilypic,"Menu Item 3","12"));

        return models;
    }
OneCricketeer

Resources$NotFoundException: Resource ID #0xffffffff

이는 생성자에 설정된 값과에서 -1반환되는 16 진수입니다 modelsArrayList.get(position).getIcon().

당신의 Fragment에서 이것을

models.add(new Model("Recent Updates"));

그리고 그것은

// Are these meant to be one value??
private boolean isGroupHeader = false;
private boolean groupHeader = false;

public Model(String title) {
    this(-1,title,null); // this line
    isGroupHeader = true;
}
public Model(int icon, String title, String counter) {
    super();
    this.icon = icon;   // this gets a -1
    this.title = title;
    this.counter = counter;
}
public int getIcon() {
    return icon;  // this is causing the error
}
public boolean isGroupHeader() {
    return groupHeader; // this is always false...
}

문제는 부울 값은 항상 있기 때문에이 if 문은 항상 입력되었는지되도록 false하고 -1자원이다. 에 오류가 없습니다 emilyPic.

if(!modelsArrayList.get(position).isGroupHeader()){
    rowView = inflater.inflate(R.layout.row_listview, parent, false);
    ImageView imgView = (ImageView) rowView.findViewById(R.id.iconlistview);

groupHeader부울 값 중 하나만 사용하여 수정할 수 있습니다 .

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

어댑터 Android의 오류

Android의 GridView 어댑터 (오류)

Selenium 및 python의 Bluetooth 어댑터 오류

사용자 지정 어레이 어댑터 초기화 오류

Firebase 데이터로 채워진 RecyclerViw 어댑터의 오류

SQLite의 ListView 데이터 // 어댑터 오류

개인 액세스 어댑터 클래스의 Recyclerview 보기 홀더 오류

어댑터에서 getview ()에 의한보기 보류 제거

어댑터에서 getview ()에 의한보기 보류 제거

Ckeditor 5 파일 업로드 어댑터 오류

변수 어댑터는 오류가 초기화되지 않았

스크롤시 ListView 사용자 정의 어댑터 오류

사용자 정의 어댑터 ListView 오류

sqlplus의 프로토콜 어댑터 오류

USB 어댑터의 Mac 주소 변경 오류

어댑터에서 ArrayIndexOutOfBoundsException 가져 오기

사용자 정의 ArrayList에 SharedPreferences 사용-어댑터 또는 편집기 오류?

어댑터보기 내부의 OnClickListener

(현재 기본값) Ember Data JSON-API 어댑터로 오류 처리

연결된 어댑터 없음, 레이아웃 건너 뛰기 오류

Android, 어댑터의 RelativeLayout으로 인해 오류가 발생합니다.

대화 조각과 사용자 지정 목록보기 어댑터 사이의 내부를 구현하는 동안 오류가 발생했습니다.

어댑터 설정 후 그리드보기의 자식 수 가져 오기

사용자 지정 데이터 어댑터 만들기: 데이터 어댑터 가져오기

외부 비디오 어댑터 사용의 단점

RecyclerView 어댑터 연결 오류 : 연결된 어댑터 없음

일반 유형에서 Moshi 어댑터 가져 오기-Kotlin

RecyclerView의 어댑터 내부에서 컨텍스트 가져 오기

어떤 종류의 어댑터도 활성화되지 않음

TOP 리스트

  1. 1

    Matlab의 반복 Sortino 비율

  2. 2

    ImageJ-히스토그램 빈을 변경할 때 최대, 최소 값이 변경되는 이유는 무엇입니까?

  3. 3

    Excel : 합계가 N보다 크거나 같은 상위 값 찾기

  4. 4

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  5. 5

    원-사각형 충돌의 충돌 측면을 찾는 문제

  6. 6

    Oracle VirtualBox-설치를 위해 게스트를 부팅 할 때 호스트 시스템이 충돌 함

  7. 7

    어떻게 아무리 "나쁜", ANY의 SSL 인증서와 HttpClient를 사용하지합니다

  8. 8

    Ubuntu는 GUI에서 암호로 사용자를 만듭니다.

  9. 9

    잘못된 상태 예외를 발생시키는 Apache PoolingHttpClientConnectionManager

  10. 10

    Python 사전을 사용하는 동안 "ValueError : could not convert string to float :"발생

  11. 11

    openCV python을 사용하여 텍스트 문서에서 워터 마크를 제거하는 방법은 무엇입니까?

  12. 12

    Vuetify 다중 선택 구성 요소에서 클릭 한 항목의 값 가져 오기

  13. 13

    C ++ VSCode에서 같은 줄에 중괄호 서식 지정

  14. 14

    Cassandra에서 버전이 지정된 계층의 효율적인 모델링

  15. 15

    JQuery datepicker 기능이 인식되지 않거나 새 프로젝트에서 작동하지 않음

  16. 16

    cuda 11.1에서 Pytorch를 사용할 때 PyTorch가 작동하지 않음: Dataloader

  17. 17

    jfreecharts에서 x 및 y 축 선을 조정하는 방법

  18. 18

    상황에 맞는 메뉴 색상

  19. 19

    마우스 휠 JQuery 이벤트 핸들러에 대한 방향 가져 오기

  20. 20

    매개 변수에서 쿼리 객체를 선언하는 방법은 무엇입니까?

  21. 21

    Maven은 아이 프로젝트 대상 폴더를 청소하지

뜨겁다태그

보관