web-dev-qa-db-ja.com

Androidスタジオはレイアウトのプレビューをレンダリングしていません

私はアプリを開発するためにAndroid Studio 0.8.6を使用していますが、API21を使用するときにレイアウトプレビューで問題が発生します。次のエラーが表示されます。

レンダリングの問題:次のクラスをインスタンス化できませんでした:-Android.support.v7.widget.Toolbar

SDKビルドツールが最新(21.0.2)であり、API21が完全にダウンロードおよびインストールされています。私のtargetSDKVersionは、gradleファイルで21に設定されています。プレビューをAPI20でレンダリングするように変更すると、すべてがうまくいくように見えます。例外の詳細を以下に示します。

ありがとう!

例外の詳細Java.lang.ClassNotFoundException:Android.support.v4.content.ContextCompatApi21 at com.intellij.util.lang.UrlClassLoader.findClass(UrlClassLoader.Java:148)at Java.lang.ClassLoader.loadClass(ClassLoader.Java:424 )Java.lang.ClassLoader.loadClass(ClassLoader.Java:357)at Android.support.v4.content.ContextCompat.getDrawable(ContextCompat.Java:319)at Android.support.v7.internal.widget.TintManager.getDrawable( TintManager.Java:133)Android.support.v7.internal.widget.TintTypedArray.getDrawable(TintTypedArray.Java:62)でAndroid.support.v7.widget.Toolbar。(Toolbar.Java:248)でAndroid.supportでv7.widget.Toolbar。(Toolbar.Java:190)Java.lang.reflect.Constructor.newInstance(Constructor.Java:408)でAndroid.view.LayoutInflater.rInflate_Original(LayoutInflater.Java:806)でAndroid.viewでLayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.Java:64)Android Android.view.LayoutInflater.rInflate(LayoutInflater.Java:782)And Andr oid.view.LayoutInflater.inflate(LayoutInflater.Java:504)Android Android.view.LayoutInflater.inflate(LayoutInflater.Java:385)

22
Tupaschoal

Android Studioの最新バージョンは .8.14 であり、これによりAPI21の多くの問題が修正されます。 Android Studio 0.8。 12発表 (「パッチなし」の下):

パッチングメカニズムのいくつかの重要なバグを見つけて修正しました。これらのバグの1つは、新しいバージョンにアップグレードすると、機能的に同一のインストールが行われても、バイナリコンテンツがわずかに異なることを意味しました(たとえば、.jarファイル内の一部のタイムスタンプが異なります)。これは、実際のバイナリ署名が一致しないことを意味し、たとえばアプリケーションの署名チェックが壊れました。

このバグを発見して修正しましたが、以前のバージョンにはさまざまなバイナリバリエーションがあるため、新しいバージョンに更新する単一のパッチを作成することはできません。したがって、このバージョンでは、IDEの完全なダウンロードが必要になります。このバージョン以降、アプリケーションの署名を保持しながら、更新プログラムを正確にインストールできるはずです。

そのため、手動で latest build をインストールする必要があります。

8
ianhanniballake

この問題は、Android Studio 1.2。

これが私がやったことです。

  1. クリーンプロジェクト
  2. プロジェクトを再構築
  3. 同期Gradle
  4. 更新レイアウトプレビューボタンを押します
43
Sotti

プレビューペインで"自動的に最適な選択"を選択解除してみて、レイアウトXMLを表示するときに古いAPIを選択します。これは、プレビューで使用するデバイスとテーマを選択するメニューバーにあります。

8
Sandeep Londhe

スタイルの親をTheme.AppCompat.Light.NoActionBarTheme.AppCompat.Light.DarkActionBarの代わりにstyles.xmlに変更してください。

5
s.g

これは 既知の問題 です。以下を参照してください。

スプリアスレンダリング例外

特定のレンダリングエラーメッセージは次のとおりです。次のクラスが見つかりませんでした。

Android.support.v7.internal.app.WindowDecorActionBar

エラーメッセージにもかかわらず、レイアウトプレビューは正しく、メッセージは安全に無視できます。この問題は2.0プレビューですでに修正されています。 詳細については、 bug 192102 を参照してください。 (問題のリンクはもう有効ではありません)。

3
iSab
  1. クリーンプロジェクト
  2. プロジェクトを再構築
  3. 同期Gradle
  4. 更新レイアウトプレビューボタンを押します

[レイアウトプレビューの更新]ボタンは、Android携帯電話のプレビューの上にあり、虫眼鏡のズームボタンのすぐ横にある円形の青い矢印の付いたものです。

注:このソリューションは、最終ステップで[レイアウトの更新]ボタンが押されるまで何もしないように見えます。これで問題は解決しました。 Android Studio v2.1.2を使用しています。

乾杯!

0
Lucas Fox
  • クリーンプロジェクト
  • プロジェクトを再構築
  • 同期Gradle
  • 更新レイアウトプレビューボタンを押します

または

xMLファイルで右クリックし、XMLとしてマークします。

それは動作するはずです。

Android studio 2.2で同じ問題に直面しています

これは私がやったことであり、何もありません

-クリーンプロジェクト

-プロジェクトの再構築

-Gradleを同期

実際に私のために働いた唯一のことは、再起動Android studio(close and reopen)

0
exequielc