programing

다음 클래스를 인스턴스화할 수 없습니다. - Android.support.v7.199.툴바

goodjava 2023. 1. 24. 08:11

다음 클래스를 인스턴스화할 수 없습니다. - Android.support.v7.199.툴바

Android 롤리팝(5.0)의 신소재 디자인으로 앱을 만들고 있습니다.

다음 가이드를 사용하고 있습니다.

도구 모음을 만든 후 "다음 클래스를 인스턴스화할 수 없습니다: - Android.support.v7.199.툴바"

휴대폰이나 에뮬레이터에서는 앱이 정상적으로 동작하지만, Android Studio의 레이아웃 디자이너가 레이아웃을 올바르게 표시하지 않습니다.

다음은 몇 가지 이미지입니다.

미리보기에서 오류가 했습니다. my_awesome_toolbar.xml은 my_awesome_toolbar.xml을 참조하십시오.my_discl_discl.xml 오류

미리보기 activity_my.xml 에 .activity_my.xml 오류

파일의 xml 코드:

my_parames_parames.xml:

<?xml version="1.0" encoding="utf-8"?>

<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/my_awesome_toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary" />

activity_my.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/root"
            tools:context="com.myapp.test.MyActivity"
            android:orientation="horizontal">

    <include
        android:id="@+id/toolbar"
        layout="@layout/my_awesome_toolbar"
        />
    <!-- Rest of layout -->
</RelativeLayout>

MyActivity.java:

package com.myapp.test;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;


public class MyActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.my, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

스타일의 xml 코드(values/styles.xml):

<resources>

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/blue</item>
        <item name="colorPrimaryDark">@color/dark_blue</item>
        <item name="actionOverflowButtonStyle">@style/AppTheme.OverflowButtonStyle</item>
    </style>

    <!-- Style Title -->
    <style name="Title">
        <item name="android:textColor">@color/white</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textSize">16sp</item>
    </style>

    <style name="AppTheme.OverflowButtonStyle" parent="Widget.AppCompat.ActionButton.Overflow">
        <item name="android:src">@drawable/overflow_icon</item>
    </style>
</resources>

현재 Android Studio Beta 0.8.9를 사용하고 있습니다.

여기서 res/values/styles.xml 파일을 변경했습니다.

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

다음과 같이 입력합니다.

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">

그래서 문제가 해결됐어요.

Android Studio(또는 IntelliJ IDEA)의 경우,

프로젝트의 모든 것이 정상으로 표시되어도 모든 레이아웃에서 오류가 발생할 경우 "Invalidate caches and restart"를 시도합니다.

Android Studio가 모든 캐시와 인덱스를 생성할 때까지 기다립니다.

캐시 비활성화 및 재시작 방법

@gbero가 말한 대로 Studio에서 사용하고 있는 Android 버전 번호를 22에서 17로 변경했습니다.

17을 으로 하고 아직 입니다). Android ver .이것이 이전 버전과의 호환성을 촉발한 것입니다.android.support.v7.*렌더링 코드의 버그일 가능성이 있습니다.캐시를 무효화한 직후에 렌더링이 동작하지 않기 때문에, 위와 같이 캐시를 클리어 할 필요가 있는지 아닌지는 잘 모르겠습니다만, 버전을 렌더로 변경한 후에 동작하기 시작했습니다.버전 22로 되돌리면 렌더링이 끊어지고, 17로 되돌리면 다시 동작합니다.

나의 해결책

송신원: https://stackoverflow.com/a/29989542/4123403

  1. 클린 프로젝트
  2. 프로젝트 재구축
  3. 그래들 동기화

이게 날 속였어.

같은 효과를 낼 수 있는 또 다른 실수는 프리뷰의 테마가 틀릴 수 있습니다.어떤 이유에서인지 나는 여기서 다른 주제를 골랐다.AppTheme를 선택한 후 다시 정상적으로 동작했습니다.

레이아웃 옵션

제 스스로 대답하게 되어 죄송합니다만, 결국 제 문제의 해결책은 Android Studio를 Canary Channel의 새로운 버전 0.8.14로 업데이트 하는 것이었습니다.http://tools.android.com/recent/

업데이트 후 문제가 해결되었습니다.

업데이트 후 문제가 해결되었습니다.

앞으로 이 문제를 안고 계신 분들을 위해 이 질문을 남겨두겠습니다.

  1. 클린 프로젝트
  2. 프로젝트 재구축
  3. 그래들 동기화

나에겐 효과가 있다

@ang_lee가 말한 대로 실행하였고, 앱 테마 스타일에 다음 행을 추가하였습니다.

<item name="windowActionBar">false</item>

버전 26.0.1을 사용하고 있습니다.

com.android.support:design:26.0.1
com.android.support:appcompat-v7:26.0.1

구성 도구:

buildToolsVersion "26.0.1"

Android Studio 화면에서도 같은 오류가 발생했습니다.이 문제는 다음과 같은 방법으로 해결합니다.

1 - 버전을 22에서 21로 변경합니다.그러나 버전 22로 되돌리면 렌더링이 끊어지고 21로 되돌리면 다시 작동합니다.감사합니다 @Overloaded_Operator

Android Studio를 업데이트했지만 작동하지 않습니다.감사합니다 @ Salvuccio96

위의 어느 것도 나에게 효과가 없었고, 나는 내 앱 gradle 파일의 appCompat - v7 버전을 23에서 25.3.1로 업데이트했다.

app/res/values 폴더에서 styles.xml을 찾습니다.

스타일의 상위 특성이 "기준"이 누락되었을 수 있습니다.로 시작해야 합니다.

<style name="AppTheme" parent="Base.Theme.AppCompat...

저도 같은 실수를 했어요.결국 플러그인이 오래되었다는 통지를 받았습니다.

오류 대화 상자

업데이트 후 문제가 해결되었습니다.

위의 솔루션은 도움이 되지 않았습니다.는 이 링크에서 두 가지 첫 단계를 시도했습니다.나한테는 잘 먹혔어.하지만 잊지 말고

import com.melnykov.fab.FloatingActionButton; 

대신

import android.support.design.widget.FloatingActionButton;

MainActivity.java에 저장

Android studio 2.3.3: - Open styles.xml - Android studio는 오른쪽 상단에 "open editor"와 "Hide notification"의 두 가지 옵션과 함께 알림을 표시합니다. - "open editor"를 클릭합니다. - 테마 부모 드롭다운에서 모든 테마 표시 - AppCompat에서 시작하는 테마 선택...(AppComat을 사용했습니다.데이나잇)

제목 표시줄이 사라지면 Activity 대신 AppCompatActivity를 확장해야 합니다.

좋은 일만 가득하시길요!

앱의 액티비티 중 하나에서도 같은 문제가 발생했습니다.이 문제의 원인 중 하나는 테마 에디터의 테마가 'styles.xml'에 정의된 테마와 다를 수 있기 때문입니다.테마 에디터의 테마를 'Appteme' 또는 커스텀 정의된 테마로 변경합니다(정의되어 있는 경우).이렇게 하면 내 문제가 해결된다.

my problem도 styles.xml로 변경함으로써 해결되었습니다.

<!-- Base application theme. -->
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">

언급URL : https://stackoverflow.com/questions/26575815/the-following-classes-could-not-be-instantiated-android-support-v7-widget-too