无法更改包含带有片段的Viewpager的活动

时间:2017-09-09 15:57:28

标签: android nullpointerexception android-viewpager

我想从没有viewpager,tablayout或fragment的普通活动更改为包含tablayout,fragment和viewpager的活动。

每次我执行:

ROUND(SUM(profit), 2)

我的应用程序停止,我无法加载。

更新

第二个活动代码:

Intent intent = new Intent(this, SecondActivity.class);
this.startActivity(intent);
finish();

我可以做些什么来启动一个带有片段的viewpager活动?

更新:LogCat:

import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.graphics.Typeface;
import android.net.Uri;
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import android.widget.VideoView;

import uk.co.chrisjenx.calligraphy.CalligraphyConfig;
import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper;

public class SecondActivity extends AppCompatActivity {

    private TabLayout tabToolbar;
    private ViewPager viewPager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
                .setDefaultFontPath("fonts/century.ttf")
                .setFontAttrId(R.attr.fontPath)
                .build()
        );


        SectionsPagerAdapter mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());

        viewPager = (ViewPager) findViewById(R.id.container);
        viewPager.setAdapter(mSectionsPagerAdapter);

        tabToolbar = (TabLayout) findViewById(R.id.tabToolbar);
        tabToolbar.setupWithViewPager(viewPager);

        tabToolbar.getTabAt(0).setIcon(R.mipmap.home_button);
        tabToolbar.getTabAt(1).setIcon(R.mipmap.pay_button);
        tabToolbar.getTabAt(2).setIcon(R.mipmap.video_button);
        tabToolbar.getTabAt(3).setIcon(R.mipmap.bill_button);

        tabToolbar.getTabAt(tabToolbar.getSelectedTabPosition()).getIcon().setColorFilter(Color.parseColor("#FFFFFF"), PorterDuff.Mode.SRC_IN);

        tabToolbar.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {

                tabToolbar.getTabAt(tabToolbar.getSelectedTabPosition()).getIcon().setColorFilter(Color.parseColor("#FFFFFF"), PorterDuff.Mode.SRC_IN);
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {
                tabToolbar.getTabAt(tabToolbar.getSelectedTabPosition()).getIcon().setColorFilter(Color.parseColor("#e40079"), PorterDuff.Mode.SRC_IN);
            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {

            }
        });
    }


    @Override
    protected void attachBaseContext(Context newBase) {
        super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
    }
}

2 个答案:

答案 0 :(得分:0)

检查您的布局XML具有ViewPager。或者确保您的id引用ViewPager。

希望有所帮助:)

答案 1 :(得分:0)

感谢cricket_007查找错误。 我的SetContentView方法内部是" R.layout.activity_main"而不是" R.layout.activity_second"。

您可以对包含片段的活动启动Intent,而不会出现任何问题。