Eigene App beendet sich beim Start Automatisch

D

derErste67

Neues Mitglied
0
Hey Leute,
Vorab ich bin relativ neu im bereich App Programmierung
Und versuche durch einige Tutorials besser klar zu kommen

ich habe das Problem das sich meine App die ich am programmieren bin sofort wieder schließt sobald ich sie starten möchte

versuche zurzeit per Swipes ein Fragment zu wechseln


Code:
package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;

import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
    CollectionPragerAdapter collectionPragerAdapter;
    ViewPager viewPager;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        collectionPragerAdapter = new CollectionPragerAdapter(getSupportFragmentManager());
        viewPager = (ViewPager)findViewById(R.id.pager);
        viewPager.setAdapter(collectionPragerAdapter);

    }

Code:
package com.example.myapplication;

import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;


public class BlankFragment extends Fragment {
    public static final String ARG = "parameter";

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View root = inflater.inflate(R.layout.fragment_blank, container, false);
        Bundle args = getArguments();
        String param = Integer.toString(args.getInt(BlankFragment.ARG));
        ((TextView)root.findViewById(R.id.textView)).setText(param);

        return root;
    }
}

Code:
package com.example.myapplication;

import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;


public class BlankFragment extends Fragment {
    public static final String ARG = "parameter";

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View root = inflater.inflate(R.layout.fragment_blank, container, false);
        Bundle args = getArguments();
        String param = Integer.toString(args.getInt(BlankFragment.ARG));
        ((TextView)root.findViewById(R.id.textView)).setText(param);

        return root;
    }
}




Code:
package com.example.myapplication;

import android.os.Bundle;

import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;

public class CollectionPragerAdapter extends FragmentStatePagerAdapter {
    public CollectionPragerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int i) {
        Fragment fragment = new BlankFragment();
        Bundle args = new Bundle();
        args.putInt(BlankFragment.ARG, i + 1);
        fragment.setArguments(args);

        return fragment;
    }

    @Override
    public int getCount() {
        return 5;
    }

    public CharSequence getPageTitle(int position){
        return "item " + (position + 1);
    }
}




Code:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.ViewPager
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
</android.support.v4.ViewPager>


Code:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/collection"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".BlankFragment">

    <!-- TODO: Update blank fragment layout -->
    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="@string/hello_blank_fragment" />

</FrameLayout>


Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapplication">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>


Hier auch noch der Error ? :

2019-09-04 14:50:21.424 9204-9204/com.example.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.myapplication, PID: 9204
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapplication/com.example.myapplication.MainActivity}: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class android.support.v4.ViewPager
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3430)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3614)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:86)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2199)
at android.os.Handler.dispatchMessage(Handler.java:112)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
Caused by: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class android.support.v4.ViewPager
Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class android.support.v4.ViewPager
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.ViewPager" on path: DexPathList[[zip file "/data/app/com.example.myapplication-LKd_EBojGMZtnhgQN0gfjQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.myapplication-LKd_EBojGMZtnhgQN0gfjQ==/lib/arm64, /system/lib64, /product/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.view.LayoutInflater.createView(LayoutInflater.java:613)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:801)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.example.myapplication.MainActivity.onCreate(MainActivity.java:17)
at android.app.Activity.performCreate(Activity.java:7458)
at android.app.Activity.performCreate(Activity.java:7448)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1286)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3409)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3614)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:86)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2199)
at android.os.Handler.dispatchMessage(Handler.java:112)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
2019-09-04 14:50:21.436 9204-9204/com.example.myapplication I/Process: Sending signal. PID: 9204 SIG: 9
 
Hallo dasErste67,
erstmal wäre es interessant zu wissen, auf welcher Android Version du Kompelierst.
Mach doch bitte mal ein Screenshot von deinem build.grade (Module: app)

Wahrscheinlich liegt dein Problem bei der Referenz zum ViewPager.

android.support.v4.ViewPager

eventuell in diese Richtung umbauen

androidx.viewpager.widget.ViewPager

Liebe Güße
 
Hallo laut dem imports benutzt du Androidx

Also solltest du auch das neue layout dafür benutzen, und nicht Support v4.
Was du ja anhand deiner layout Dateien auch machst.

Entweder alte Support lib oder androidx nicht beides

Wie das layout und der Java Code aussehen sollte schaue hier.

ViewPager  |  Android Developers
 
Hey Leute
ich habs geschafft
der fehler war tatsächlich das mit dem android und androidx

benutze jetzt den hier
androidx.viewpager.widget.ViewPager
und jetzt klappt es

danke für eure hilfe :)
 

Ähnliche Themen

Laser5001
  • Laser5001
Antworten
2
Aufrufe
900
Laser5001
Laser5001
FabianDev
Antworten
5
Aufrufe
561
swa00
swa00
F
  • Fischi84
Antworten
2
Aufrufe
1.917
Fischi84
F
Zurück
Oben Unten