###前提・実現したいこと
現在,一部端末において,起動せずに強制終了してしまうという
問題が解決できず困っています。
強制終了の問題を解決したいのですが,
Android開発を独学での学習しているため,
正しくコードがかけていない箇所があるかと思っています。
実機2機やエミュレータでは,強制終了しないため,
問題箇所の原因がつかめずにいます。
###発生している問題・エラーメッセージ
java.lang.NullPointerException: Attempt to invoke virtual method 'int jp.bebeit.fuyokeisan.a.a()' on a null object reference
at jp.bebeit.fuyokeisan.e.l(Unknown Source)
at jp.bebeit.fuyokeisan.e.k(Unknown Source)
at jp.bebeit.fuyokeisan.e.a(Unknown Source)
at jp.bebeit.fuyokeisan.e.onStart(Unknown Source)
at android.support.v4.app.Fragment.performStart(Unknown Source)
at android.support.v4.app.v.a(Unknown Source)
at android.support.v4.app.v.a(Unknown Source)
at android.support.v4.app.v.d(Unknown Source)
at android.support.v4.app.v.f(Unknown Source)
at android.support.v4.app.v.b(Unknown Source)
at android.support.v4.app.h.d(Unknown Source)
at android.support.v4.app.x.b(Unknown Source)
at android.support.v4.view.ViewPager.a(Unknown Source)
at android.support.v4.view.ViewPager.c(Unknown Source)
at android.support.v4.view.ViewPager.onMeasure(Unknown Source)
at android.view.View.measure(View.java:17520)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17520)
at android.support.v4.widget.DrawerLayout.onMeasure(Unknown Source)
at android.view.View.measure(View.java:17520)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
at android.support.v7.widget.ContentFrameLayout.onMeasure(Unknown Source)
at android.view.View.measure(View.java:17520)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17520)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
at android.view.View.measure(View.java:17520)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17520)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2563)
at android.view.View.measure(View.java:17520)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2005)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1170)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1376)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1058)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5796)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
at android.view.Choreographer.doCallbacks(Choreographer.java:580)
at android.view.Choreographer.doFrame(Choreographer.java:550)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:211)
at android.app.ActivityThread.main(ActivityThread.java:5335)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1016)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:811)
###該当のソースコード
import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.res.Resources; import android.os.Bundle; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.GravityCompat; import android.support.v4.view.ViewPager; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.AppCompatActivity; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.widget.TabHost; import android.widget.TabWidget; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private Resources res; private SectionsPagerAdapter mSectionsPagerAdapter; public class SectionsPagerAdapter extends FragmentPagerAdapter { public SectionsPagerAdapter(FragmentManager fm) { super(fm); } @Override public android.support.v4.app.Fragment getItem(int position) { switch (position) { case 0: return new RecordFragment(); case 1: return new PlanFragment(); } return null; } @Override public int getCount() { return 2; } @Override public CharSequence getPageTitle(int position) { switch (position) { case 0: return res.getString(R.string.record); case 1: return res.getString(R.string.plan); } return null; } } private ViewPager mViewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); res = getResources(); // primary sections of the activity. mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); // Set up the ViewPager with the sections adapter. mViewPager = (ViewPager) findViewById(R.id.container); mViewPager.setAdapter(mSectionsPagerAdapter); final TabHost tabHost = (TabHost) findViewById(android.R.id.tabhost); tabHost.setup(); //タブの設定変更 TabWidget tabWidget = (TabWidget) findViewById(android.R.id.tabs); LayoutInflater inflater = LayoutInflater.from(this); for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) { TextView tv = (TextView) inflater.inflate(R.layout.tab_widget, tabWidget, false); tv.setText(mSectionsPagerAdapter.getPageTitle(i)); tv.setGravity(Gravity.CENTER); tabHost.addTab(tabHost .newTabSpec(String.valueOf(i)) .setIndicator(tv) .setContent(android.R.id.tabcontent)); } tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() { @Override public void onTabChanged(String tabId) { mViewPager.setCurrentItem(Integer.valueOf(tabId)); } }); mViewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { @Override public void onPageSelected(int position) { super.onPageSelected(position); tabHost.setCurrentTab(position); } }); } }
###試したこと
私なりに調べたところ,ViewPagerあたりに問題があるのではないかと
考えておりますが,もしよろしければ,知恵をお借りできたらと思い
ご相談させていただいています。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
回答1件
あなたの回答
tips
プレビュー