java.lang.NoClassDefFoundError(查看寻呼机)
我制作了一个ViewPager和一个适配器,然后使用(setAdapter)方法将我的适配器放入ViewPager 我确信一切都正常,但当我运行项目时,这个问题会显示出来:java.lang.NoClassDefFoundError(查看寻呼机),java,android,android-viewpager,Java,Android,Android Viewpager,我制作了一个ViewPager和一个适配器,然后使用(setAdapter)方法将我的适配器放入ViewPager 我确信一切都正常,但当我运行项目时,这个问题会显示出来: 12-29 11:50:26.076 27016-27016/com.example.maysara_.pager E/AndroidRuntime: FATAL EXCEPTION: main java.lang.NoClassDefFoundError: com.example.maysara_.pager.M
12-29 11:50:26.076 27016-27016/com.example.maysara_.pager E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.example.maysara_.pager.MyAdapter
at com.example.maysara_.pager.MainActivity.onCreate(MainActivity.java:22)
at android.app.Activity.performCreate(Activity.java:5122)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1151)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2320)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2408)
at android.app.ActivityThread.access$600(ActivityThread.java:167)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1378)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5405)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:838)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
at dalvik.system.NativeStart.main(Native Method)
这是主要的活动
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewPager pager = (ViewPager)findViewById(R.id.viewPager);
List<Fragment> list = new ArrayList<Fragment>();
MyAdapter adapter = new MyAdapter(this.getFragmentManager(),list);
F f1 = new F();
Bundle b1 = new Bundle();
b1.putInt("img", R.drawable.one);
f1.setArguments(b1);
list.add(f1);
F f2 = new F ();
Bundle b2 = new Bundle();
b2.putInt("img", R.drawable.two);
f2.setArguments(b2);
list.add(f2);
F f3 = new F();
Bundle b3 = new Bundle();
b3.putInt("img", R.drawable.three);
f3.setArguments(b3);
list.add(f3);
F f4 = new F();
Bundle b4 = new Bundle();
b4.putInt("img" , R.drawable.four);
f4.setArguments(b4);
list.add(f4);
F f5 = new F();
Bundle b5 = new Bundle();
b5.putInt("img" , R.drawable.five);
f5.setArguments(b5);
list.add(f5);
pager.setAdapter(adapter);
}
}
public类MainActivity扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewPager pager=(ViewPager)findViewById(R.id.ViewPager);
列表=新的ArrayList();
MyAdapter=新的MyAdapter(this.getFragmentManager(),list);
F f1=新的F();
Bundle b1=新Bundle();
b1.putInt(“img”,R.可拉深。一);
f1.设置参数(b1);
列表。添加(f1);
F f2=新的F();
Bundle b2=新Bundle();
b2.putInt(“img”,R.可绘制。二);
f2.设置参数(b2);
列表。添加(f2);
F f3=新的F();
Bundle b3=新Bundle();
b3.putInt(“img”,R.可绘制三);
f3.设置参数(b3);
列表。添加(f3);
F f4=新的F();
Bundle b4=新Bundle();
b4.putInt(“img”,R.可绘制四个);
f4.设置参数(b4);
列表。添加(f4);
F f5=新的F();
Bundle b5=新Bundle();
b5.putInt(“img”,R.可拉深。五);
f5.设置参数(b5);
列表。添加(f5);
寻呼机设置适配器(适配器);
}
}
我的适配器代码
package com.example.maysara_.pager;
import android.app.Fragment;
import android.app.FragmentManager;
import android.support.v13.app.FragmentPagerAdapter;
import java.util.List;
public class MyAdapter extends FragmentPagerAdapter
{
List<Fragment> list ;
public MyAdapter(FragmentManager fm , List<Fragment> list) {
super(fm);
this.list=list;
}
@Override
public Fragment getItem(int i) {
return list.get(i);
}
@Override
public int getCount() {
return list.size();
}
}
package com.example.maysara_u2;u.pager;
导入android.app.Fragment;
导入android.app.FragmentManager;
导入android.support.v13.app.FragmentPagerAdapter;
导入java.util.List;
公共类MyAdapter扩展了FragmentPagerAdapter
{
名单;
公共MyAdapter(FragmentManager fm,列表){
超级(fm);
this.list=list;
}
@凌驾
公共片段getItem(int i){
返回列表。获取(i);
}
@凌驾
public int getCount(){
返回list.size();
}
}
首先,在将片段分配到适配器之前定义片段,而不是之后
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewPager pager = (ViewPager)findViewById(R.id.viewPager);
List<Fragment> list = new ArrayList<Fragment>();
F f1 = new F();
Bundle b1 = new Bundle();
b1.putInt("img", R.drawable.one);
f1.setArguments(b1);
list.add(f1);
F f2 = new F ();
Bundle b2 = new Bundle();
b2.putInt("img", R.drawable.two);
f2.setArguments(b2);
list.add(f2);
F f3 = new F();
Bundle b3 = new Bundle();
b3.putInt("img", R.drawable.three);
f3.setArguments(b3);
list.add(f3);
F f4 = new F();
Bundle b4 = new Bundle();
b4.putInt("img" , R.drawable.four);
f4.setArguments(b4);
list.add(f4);
F f5 = new F();
Bundle b5 = new Bundle();
b5.putInt("img" , R.drawable.five);
f5.setArguments(b5);
list.add(f5);
MyAdapter adapter = new MyAdapter(this.getFragmentManager(),list);
pager.setAdapter(adapter);
}
}
public类MainActivity扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewPager pager=(ViewPager)findViewById(R.id.ViewPager);
列表=新的ArrayList();
F f1=新的F();
Bundle b1=新Bundle();
b1.putInt(“img”,R.可拉深。一);
f1.设置参数(b1);
列表。添加(f1);
F f2=新的F();
Bundle b2=新Bundle();
b2.putInt(“img”,R.可绘制。二);
f2.设置参数(b2);
列表。添加(f2);
F f3=新的F();
Bundle b3=新Bundle();
b3.putInt(“img”,R.可绘制三);
f3.设置参数(b3);
列表。添加(f3);
F f4=新的F();
Bundle b4=新Bundle();
b4.putInt(“img”,R.可绘制四个);
f4.设置参数(b4);
列表。添加(f4);
F f5=新的F();
Bundle b5=新Bundle();
b5.putInt(“img”,R.可拉深。五);
f5.设置参数(b5);
列表。添加(f5);
MyAdapter=新的MyAdapter(this.getFragmentManager(),list);
寻呼机设置适配器(适配器);
}
}
关于java.lang.NoClassDefFoundError,如果您的代码只在一个模块中,请检查这是否与您的问题有关:
您是否正确导入
MyAdapter
了?是否需要手动导入它???我想androidStudio导入它…NoClassDefFoundError:com.example.maysara_u2;pager.MyAdapter
。您需要包含/导入这个类如何导入它?我导入它,但问题是remain@Maysara有用吗?