简体   繁体   English

我想从片段开始活动,但它崩溃了

[英]I want to start activity from fragment but It get crashed

Its the error log of Android Studio where it get crashed.它是 Android Studio 崩溃的错误日志。

02-08 10:56:28.746 9956-9956/lifeline.learn.com.slidingfragments E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                   Process: lifeline.learn.com.slidingfragments, PID: 9956
                                                                                   java.lang.RuntimeException: Unable to start activity ComponentInfo{lifeline.learn.com.slidingfragments/lifeline.learn.com.slidingfragments.Main2Activity}: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class com.github.mikephil.charting.charts.PieChart
                                                                                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2984)
                                                                                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045)
                                                                                       at android.app.ActivityThread.-wrap14(ActivityThread.java)
                                                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642)
                                                                                       at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                       at android.os.Looper.loop(Looper.java:154)
                                                                                       at android.app.ActivityThread.main(ActivityThread.java:6776)
                                                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1518)
                                                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)
                                                                                    Caused by: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class com.github.mikephil.charting.charts.PieChart
                                                                                    Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class com.github.mikephil.charting.charts.PieChart
                                                                                    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.github.mikephil.charting.charts.PieChart" on path: DexPathList[[zip file "/data/app/lifeline.learn.com.slidingfragments-1/base.apk", zip file "/data/app/lifeline.learn.com.slidingfragments-1/split_lib_dependencies_apk.apk", zip file "/data/app/lifeline.learn.com.slidingfragments-1/split_lib_slice_0_apk.apk", zip file "/data/app/lifeline.learn.com.slidingfragments-1/split_lib_slice_1_apk.apk", zip file "/data/app/lifeline.learn.com.slidingfragments-1/split_lib_slice_2_apk.apk", zip file "/data/app/lifeline.learn.com.slidingfragments-1/split_lib_slice_3_apk.apk", zip file "/data/app/lifeline.learn.com.slidingfragments-1/split_lib_slice_4_apk.apk", zip file "/data/app/lifeline.learn.com.slidingfragments-1/split_lib_slice_5_apk.apk", zip file "/data/app/lifeline.learn.com.slidingfragments-1/split_lib_slice_6_apk.apk", zip file "/data/app/lifeline.learn.com.slidingfragments-1/split_lib_slice_7_apk.apk", zip file "/data/app/lifeline.learn.com.slidingfragments-1/split_lib_slice_8_apk.apk", zip file "/data/app/lifeline.learn.com.slidingfragments-1/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/lifeline.learn.com.slidingfragments-1/lib/arm, /system/lib, /vendor/lib]]
                                                                                       at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                                                                                       at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
                                                                                       at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
                                                                                       at android.view.LayoutInflater.createView(LayoutInflater.java:616)
                                                                                       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:794)
                                                                                       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734)
                                                                                       at android.view.LayoutInflater.rInflate(LayoutInflater.java:865)
                                                                                       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
                                                                                       at android.view.LayoutInflater.inflate(LayoutInflater.java:525)
                                                                                       at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
                                                                                       at android.view.LayoutInflater.inflate(LayoutInflater.java:378)
                                                                                       at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
                                                                                       at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
                                                                                       at lifeline.learn.com.slidingfragments.Main2Activity.onCreate(Main2Activity.java:23)
                                                                                       at android.app.Activity.performCreate(Activity.java:6956)
                                                                                       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126)
                                                                                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2927)
                                                                                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045)
                                                                                       at android.app.ActivityThread.-wrap14(ActivityThread.java)
02-08 10:56:28.746 9956-9956/lifeline.learn.com.slidingfragments E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642)
                                                                                       at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                       at android.os.Looper.loop(Looper.java:154)
                                                                                       at android.app.ActivityThread.main(ActivityThread.java:6776)
                                                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1518)
                                                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)

Its Tab 3 where I call the start activity from fragment:在它的 Tab 3 中,我从片段调用开始活动:

public class Tab3 extends android.support.v4.app.Fragment {
    Context context;
    FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance ();
    DatabaseReference databaseReference = firebaseDatabase.getReference ();
    private JazzyListView listView;
    ArrayAdapter<String> listAdapter;
    List<String> ListString = new ArrayList<> ();
    View view;
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        context = getContext ();
        view = inflater.inflate (R.layout.fragment_tab3, container, false);
        listView = (JazzyListView) view.findViewById (R.id.listview);
        ListString.add ("Adding");
        listAdapter = new ArrayAdapter<String> (context, android.R.layout.simple_list_item_1, ListString);
        final Connectivity connectivity = new Connectivity (context);
        if(connectivity.isConnected ()){
            databaseReference.addValueEventListener (new ValueEventListener () {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    ListString.remove ("Adding");
                    DataSnapshot snapshot = dataSnapshot.child ("User");
                    for(DataSnapshot s: snapshot.getChildren ())
                    {
                        if(s.getValue ().toString ().isEmpty ())
                            Toast.makeText (context, "Empty", Toast.LENGTH_SHORT).show ();
                        else{
                            ListString.add(s.getKey ().toString ());
                        }
                    }
                    listAdapter.notifyDataSetChanged ();
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {
                    Toast.makeText (context, databaseError.getMessage (), Toast.LENGTH_SHORT).show ();
                }
            });
            listView.setAdapter (listAdapter);
            listView.setOnItemClickListener (new AdapterView.OnItemClickListener () {
                @Override
                public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                    String name = adapterView.getItemAtPosition (i).toString ();
                    Intent intent = new Intent (getActivity (), Main2Activity.class).putExtra("name", name);
                    try {
                        getActivity ().startActivity (intent);
                    }catch (Exception e){
                        Toast.makeText (context, e.getMessage (), Toast.LENGTH_SHORT).show ();
                    }
                }
            });
        }



        return view;
    }
}

Here is the Main2Activity.java Which I would like to call but it get crashes whenever I call it.这是我想调用的 Main2Activity.java,但是每当我调用它时它都会崩溃。

public class Main2Activity extends AppCompatActivity {

    int present =0,absent=0, late=0;
    FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance ();
    DatabaseReference databaseReference = firebaseDatabase.getReference ();
    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate (savedInstanceState);
        setContentView (R.layout.activity_main2);
        String name = getIntent ().getStringExtra ("name");
        //pieChart = (PieChart) findViewById (R.id.pie);
        try {
            //pieChart.setCenterText ("Children");
            //pieChart.setCenterTextSize (10f);
            databaseReference.addValueEventListener (new ValueEventListener () {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    DataSnapshot snapshot = dataSnapshot.child ("Attendence");
                    for(DataSnapshot snapshot1 : snapshot.getChildren ()){
                        DataSnapshot snapshot2 = snapshot.child (snapshot1.getKey ());
                        for(DataSnapshot name: snapshot2.getChildren ()){
                            if(name.getKey ().equals (name)){
                                Log.e ("Got children","");
                            }
                        }
                    }
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });
        }catch (Exception e){
            Toast.makeText (this, e.getMessage (), Toast.LENGTH_SHORT).show ();
        }
    }
}

Whenever I click on the Item of the listview app get crashed.每当我点击 listview 应用程序的项目时就会崩溃。 I even tried try and catch method to detect the problem.What should I do to call the activity and remove this crash from the app.我什至尝试尝试和捕获方法来检测问题。我应该怎么做才能调用活动并从应用程序中删除此崩溃。 As I am new to Android Development.因为我是 Android 开发的新手。 Help me to get out of this problem帮助我摆脱这个问题

You are having this problem because android can't find your external library class com.github.mikephil.charting.charts.PieChart .您遇到此问题是因为 android 找不到您的外部库类com.github.mikephil.charting.charts.PieChart

In your error log , It is clearly mentioned .在您的错误日志中,清楚地提到了这一点。

Binary XML file line #0: Error inflating class com.github.mikephil.charting.charts.PieChart
  • first of all you have to clean and rebuild your project .See if problem fixed.首先,您必须清理并重建您的项目。看看问题是否已解决。
  • check your library's github document about how to integrate it in Android.检查您图书馆的 github 文档,了解如何将其集成到 Android 中。

The exception is about Multidex.例外是关于 Multidex。

In summary, Android can support 64K methods.综上所述,Android 可以支持 64K 方法。 But you are using many libraries.但是您正在使用许多库。 So the number of total methods is bigger than 64K.所以总方法数大于64K。 The exception means it.例外就是这个意思。

To resolve this, you should use Multidex.要解决此问题,您应该使用 Multidex。 It is not difficult.这并不困难。 You just edit your manifest file, build.gradle file.您只需编辑清单文件 build.gradle 文件。

You can find more information: https://developer.android.com/studio/build/multidex.html您可以找到更多信息: https : //developer.android.com/studio/build/multidex.html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 从片段开始活动,然后获取回调 - Start activity from fragment, then get callback 我想从 Activity 获取编辑文本数据并显示在 Fragment 中,但它给了我错误 - I want to get edit text data from Activity and and show in Fragment but it give me error 使用SharedPreference从活动中的片段发送值时,每次都崩溃吗? - Get crashed every time while sending values from a fragment in an activity using SharedPreference? 如何从活动开始片段 - How to start a fragment from an activity Android - 如何从活动中“开始”或“初始化”片段? - Android - How do I “start” or “initialize” a Fragment from an activity? 我想将数据从活动转移到片段,然后在片段中显示数据。 我的代码不起作用 - I want to transfer data from activity to fragment and then display data in the fragment. My code doesn't work 如何从 android 中的片段开始活动? - How to start an activity from fragment in android? 从片段内的ListView开始活动 - Start an activity from the ListView inside a fragment 如何从底部工作表片段开始活动 - How to start activity from bottom sheet fragment 当我尝试从其他活动中获取价值时,应用程序崩溃了,为什么? - Application crashed when I tried to get value from other activity, why?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM