2017-12-23 18 views
-3

던져 영역 NullPointerException에 목록을 삽입하는 동안. 제발 도와주세요.영역 삽입 NullPointerException이

당신은 안드로이드 영역 DB 관리에 가장 좋은 방법은 저를 제안 할 수

내 코드 : 즉시 모든 초기화 영역의

첫째 : 당신이 이런 일을 할 수

public class DrinksFragment 
     extends Fragment { 

    private Realm realm; 

    @Override 
    public View onCreateView(
      LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.fragment_drinks, container, false); 
     Realm.init(getActivity()); 
     realm = Realm.getDefaultInstance(); 
     return view; 
    } 

    public boolean drinksToDB(final List<ProductModel> productModel) { 
     realm.executeTransactionAsync(new Realm.Transaction() { 
      @Override 
      public void execute(Realm bgrealm) { 
       RealmList<ProductModel> realproductList = new RealmList<>(); 
       realproductList.addAll(productModel); 
      } 
     }, new Realm.Transaction.OnSuccess() { 
      @Override 
      public void onSuccess() { 
       Log.d("REALM_DB_INSERT", "Data Inserted"); 
      } 
     }, new Realm.Transaction.OnError() { 
      @Override 
      public void onError(Throwable error) { 
       Log.d("REALM_DB_INSERT", error.getMessage()); 
      } 
     }); 

     return true; 
    } 
} 
+0

@Noise Generator. 아주 나쁜 소리를 내고있어. 이 질문을 완전히 읽으신 후 –

+0

으로 표시하십시오. NPE가 무엇이며 어떻게 수정해야하는지 정말 알아야합니다. –

답변

0

I 조언 앱을 열 때 한 번만 :

public class StartApplication 
      extends Application { 

     @Override 
     public void onCreate() { 
      super.onCreate(); 
      Realm.init(getApplicationContext()); 
     } 
} 

영역 객체를 도처에 이런 방식으로 가져 오십시오.

Realm realm = Realm.getDefaultInstance(); 
+0

이미 응용 프로그램 클래스 –

+0

@NatheemYousuf에서 끝났어요 예는 Realm.init (getActivity()를) 쓸 필요가 없습니다; 너의 조각에. 해당 행을 제거하십시오. – Curio

+0

운 @Curio java.lang.NullPointerException이 : 가상 메서드 'io.realm.RealmAsyncTask io.realm.Realm.executeTransactionAsync (io.realm.Realm $ 거래, io.realm.Realm $ 거래 $ onsuccess는, IO를 호출을 시도합니다. realm.Realm $ Transaction $ OnError) 'null 객체 참조 –