navigation drawer activity android v6...

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
dr.b00
Сообщения: 1
Зарегистрирован: 20 апр 2017, 15:05

navigation drawer activity android v6...

Сообщение dr.b00 » 20 апр 2017, 15:17

Добрый день. Возникла проблема: в приложении есть navigation drawer activity с несколькими фрагментами (один из фрагментов загружается по умолчанию при загрузке activity). На андроид v5 работает. При запуске соответствующего активити на более новых версиях ОС (к примеру 6) приложение крашится (похоже, что в onAttach()). Подскажите в чем может быть проблема?

Код: Выделить всё

@Override
    public void onAttach(Context context) {
        super.onAttach(context);
        if (context instanceof OnFragmentInteractionListener) {
            mListener = (OnFragmentInteractionListener) context;
        } else {
            throw new RuntimeException(context.toString()
                    + " must implement OnFragmentInteractionListener");
        }
    }

Код: Выделить всё

 
import android.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.app.FragmentTransaction;
import android.view.View;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import Fragmentlenght;
public class ConverterDrawActivity extends AppCompatActivity
        implements NavigationView.OnNavigationItemSelectedListener {

    Fragmentlenght fl;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        fl = new Fragmentlenght();
        setContentView(R.layout.activity_converter_draw);
        FragmentTransaction tx = getFragmentManager().beginTransaction();
        tx.replace(R.id.content_converter_draw, fl);
        tx.commit();
build.gradle

Код: Выделить всё

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.0"
    defaultConfig {
        applicationId "com.drb00.a0calculator"
        minSdkVersion 14
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.1.0'
    compile 'com.google.android.gms:play-services-appindexing:9.8.0'
    compile 'com.android.support:design:25.1.0'
    compile 'com.android.support:support-v4:25.1.0'
    testCompile 'junit:junit:4.12'
}

Ответить