layoutinflater nullPointerException.
-
11-12-2019 - |
문제
사용자 정의 ListViewAdapter를 새로 고침하려고합니다.
편집 :
ListView에서 항목을 클릭하면 GoruntulActivity의 화면을 호출하고 OnCreate 메서드를 생성합니다 (나는 그것이 만들어지고 있다고 가정하고 있다고 가정합니다.). GoruncheActivity의 방법을 호출 하고이 활동 에이 활동이됩니다.
ListeLeactivity.java
.
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View item,
int position, long id) {
onClickPosition = position;
final Intent intent = new Intent(ListeleActivity.this,
GoruntuleActivity.class);
startActivity(intent);
goruntuleNesnesi.isSetListRefresh(onClickPosition , issetlist);
}
});
및 그것은 Goruntulaactivity의 방법을 부르고있다 .Java
.
public void isSetListRefresh(int onClickPosition, ArrayList<String> issetlist )
{
issetlist.set(onClickPosition, "false");
setRecentOrSeen(issetlist);
ListviewRefresh();
}
public void ListviewRefresh()
{
LayoutInflater mLInflater = LayoutInflater.from(this);
ListViewAdapter adapter = new ListViewAdapter(
getApplicationContext(), getKimdenList(), getKonuList(), getRecentOrSeen() ,
mLInflater);
adapter.Remove();
}
이제는 또 다른 예외를주고 있습니다 ..
.05-18 16:25:22.073: E/AndroidRuntime(807): FATAL EXCEPTION: main
05-18 16:25:22.073: E/AndroidRuntime(807): java.lang.IllegalStateException: System services not available to Activities before onCreate()
05-18 16:25:22.073: E/AndroidRuntime(807): at android.app.Activity.getSystemService(Activity.java:3526)
05-18 16:25:22.073: E/AndroidRuntime(807): at android.view.LayoutInflater.from(LayoutInflater.java:171)
05-18 16:25:22.073: E/AndroidRuntime(807): at com.mobil.eposta.GoruntuleActivity.ListviewRefresh(GoruntuleActivity.java:160)
05-18 16:25:22.073: E/AndroidRuntime(807): at com.mobil.eposta.GoruntuleActivity.isSetListRefresh(GoruntuleActivity.java:155)
05-18 16:25:22.073: E/AndroidRuntime(807): at com.mobil.eposta.ListeleActivity$1.onItemClick(ListeleActivity.java:137)
05-18 16:25:22.073: E/AndroidRuntime(807): at android.widget.AdapterView.performItemClick(AdapterView.java:284)
05-18 16:25:22.073: E/AndroidRuntime(807): at android.widget.ListView.performItemClick(ListView.java:3382)
05-18 16:25:22.073: E/AndroidRuntime(807): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1696)
05-18 16:25:22.073: E/AndroidRuntime(807): at android.os.Handler.handleCallback(Handler.java:587)
05-18 16:25:22.073: E/AndroidRuntime(807): at android.os.Handler.dispatchMessage(Handler.java:92)
05-18 16:25:22.073: E/AndroidRuntime(807): at android.os.Looper.loop(Looper.java:123)
05-18 16:25:22.073: E/AndroidRuntime(807): at android.app.ActivityThread.main(ActivityThread.java:4627)
05-18 16:25:22.073: E/AndroidRuntime(807): at java.lang.reflect.Method.invokeNative(Native Method)
05-18 16:25:22.073: E/AndroidRuntime(807): at java.lang.reflect.Method.invoke(Method.java:521)
05-18 16:25:22.073: E/AndroidRuntime(807): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-18 16:25:22.073: E/AndroidRuntime(807): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-18 16:25:22.073: E/AndroidRuntime(807): at dalvik.system.NativeStart.main(Native Method)
해결책
오류 로그에서 getApplicationContext ()가 NULL을 반환하는 것처럼 보입니다.goruntuleNesnesi.ListviewRefresh();
를 언제 부르고 있습니까?oncreate (...)에 있습니까?그렇다면 getApplicationContext(...)
가 onCreate(...)
가 초기화 될 때까지 null을 반환하면 문제 일 수 있습니다.
편집 : 나는 스택 추적을 조금 더 쳐다 보았고 단추 클릭에 ListViewrefresh를 호출하는 것처럼 보입니다.getApplicationContext (...) 대신 this
를 사용해 보셨습니까?
편집 2 : 이것을 시도하십시오 :
.
ListViewAdapter adapter = new ListViewAdapter(this, getKimdenList(), getKonuList(), getRecentOrSeen() ,mLInflater);
은 동일한 문제로 인해 활동이 아직 화면에 그려지지 않았고 초기화되지 않았기 때문에 동일한 문제로 고통 받고 있습니다.그것을 시도해보십시오. 우리는 거기에서 갈 것입니다.