Android 我在活动中使用TabLaout,但它显示空指针
这是我的密码Android 我在活动中使用TabLaout,但它显示空指针,android,android-layout,android-fragments,android-activity,Android,Android Layout,Android Fragments,Android Activity,这是我的密码 package com.saverx.rushabh.saverx; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v
package com.saverx.rushabh.saverx;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.view.ViewGroup;
public class MainActivity extends AppCompatActivity {
View view;
private static final String ARG_SECTION_NUMBER = "section_number";
ViewPager viewPager;
//TabLayout tabLayout;
TabLayout tabLayout;
LayoutInflater inflater;
ViewGroup container;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.container=container;
this.inflater=inflater;
this.view= inflater.inflate(R.layout.activity_main, container, false);
viewPager=(ViewPager)view.findViewById(R.id.viewPager);
viewPager.setAdapter(new sliderAapter(getSupportFragmentManager()));
tabLayout=(TabLayout)view.findViewById(R.id.sliding_tab);
tabLayout.post(new Runnable() {
@Override
public void run() {
tabLayout.setupWithViewPager(viewPager);
}
});
//return view;
}
private class sliderAapter extends FragmentPagerAdapter {
public sliderAapter(FragmentManager supportFragmentManager) {
super(supportFragmentManager);
}
@Override
public Fragment getItem(int position) {
Log.e("adapter", ""+position);
// return new CalendarFragment();
NewLeadsFragment obj= new NewLeadsFragment();
/* Bundle bundle=new Bundle();
bundle.putInt("position",position);
obj.setArguments(bundle);
return obj;*/
return obj;
}
@Override
public int getCount() {
return 3;// 3 tabs
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "Leads";
case 1:
return "Meetings";
case 2:
return "Service";
}
return null;
}
}
}
例外是
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean)' on a null object reference
at com.saverx.rushabh.saverx.MainActivity.onCreate(MainActivity.java:33)
当我使用activity的fragment instad时,这段代码工作得非常好
我正在使用tablayout,以便我可以拖动注册并使用tablayout登录
运行时错误为:
java.lang.RuntimeException:无法启动activity ComponentInfo{com.saverx.rushabh.saverx/com.saverx.rushabh.saverx.MainActivity}:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.view.view android.view.LayoutInflater.inflate(int,android.view.ViewGroup,boolean)”
我总结说,错误可能是由于我没有插入
this.view=view
,但它引发了相同的异常创建时活动中没有容器和充气机。您可能将代码从片段onCreateView复制到活动onCreate。
检查这些行
this.container=container;
this.inflater=inflater;
this.view= inflater.inflate(R.layout.activity_main, container, false);