2016-05-02 14 views
0

私は非常に奇妙な問題があります。私はUbuntu 15.10でAndroid Studio 2.1を使用しています。"ClassNotFoundException:android.support.v7.widget.GridLayout"実際にインポートされても、

私は、v7サポートライブラリからGridLayoutを実装しようとしています。私は、SDK ManagerからAndroid Support LibraryAndroid Support Repositoryをインストールして、私のアプリbuild.gradleの依存関係にGridLayoutの追加:私のレイアウトのXMLに追加すると、それはそれが必要のように、それがインポートされたかのように正確に自動的に補完ファイル

compile 'com.android.support:design:23.3.0' 
compile 'com.android.support:appcompat-v7:23.3.0' 
compile 'com.android.support:gridlayout-v7:23.3.0' 

を。

<android.support.v7.widget.GridLayout xmlns:app="http://schemas.android.com/apk/res-auto" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:columnCount="4" 
      app:rowCount="4" 
      android:id="@+id/keypadButtons" 
      app:alignmentMode="alignBounds"> 
... 

しかし、デバイスでどのように見えるかを確認するためにプロジェクトをビルドすると、何らかの理由で失敗します。私はデザインビューでそれをチェックアウトしたい場合は

、私は私が述べて、私のイベントログのパースエラーを持っていることを参照してください。

java.lang.RuntimeException: java.lang.ClassNotFoundException: android.support.v7.widget.GridLayout 

編集:もデザインでのGridLayoutを見 それは、私の場合は4列と4行になるはずです。しかし、GridLayoutクラスの解析エラーが見つかりませんし、他の要素の私のコンポーネントツリーを表示することができません。

ライブラリを追加する際にいくつかのステップがありませんでしたか?私はWindows上で他のv4およびv7サポートライブラリを使用しましたが、問題はありません。それはLinuxの許可の問題かもしれませんか?

答えて

0

ビルドの問題を解決するには、Build -> Clean Projectの下でクリーンなプロジェクトを行っているような単純な(とややembarrasing)でした。それはビルドしていないアプリに関する私の問題を解決しました。

今私は、GridLayoutクラスがデザインビューで見つからないことがありました。私が見つけた解決策は、File -> Invalidate Caches/Restart注::これはAndroidスタジオのローカル履歴をクリアします)のキャッシュを無効にすることでした。再起動後、GridLayoutクラスが正しく検出されました。

0

私はあなたのコードを試して、それは正常に動作します。

は私が持っている私のGradleファイルで:

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 

... 

defaultConfig { 
    minSdkVersion 19 
    targetSdkVersion 23 
... 


dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.3.0' 
    compile 'com.android.support:design:23.3.0' 
    compile 'com.android.support:gridlayout-v7:23.3.0' 
0

上記の問題が解決しない場合は、代わりにRecyclerViewGridLayoutManagerを使用できます。

関連する問題