質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

1回答

5883閲覧

AndroidでUnknown fragmentsや、Binary XML file line #1: Error inflating class fragmentがでます。

edoooooo

総合スコア476

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2017/05/02 04:43

編集2017/05/02 04:47

xmlのレイアウトに、Unknown fragmentsが出ています。
また、AndroidMonitorでは、一行目がおかしいと言っています。
APIキーにつきましては、取得し、Manifest.xmlとgoogle_maps_api.xmlの設定は終えています。初期状態のコードでは、mapを取得できていたので、問題はないと思います。
どうすれば、Unknown fragmentsや、Binary XML file line #1: Error inflating class fragmentを解決できるでしょうか?アドバイスをいただきたいです。よろしくお願いします。

java

1<?xml version="1.0" encoding="utf-8"?> 2<fragment xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:map="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:id="@+id/map" 6 android:name="com.google.android.gms.maps.SupportMapFragment" 7 android:layout_width="match_parent" 8 android:layout_height="match_parent" 9 tools:context="com.example.android.sample.near.LocationActivity" />

この下のjavaのコードでは、
LocationActivity内での画面変更で、activity_main.xmlからactivity_map.xmlに変更して、mapを開いた時に、すでにlatitude、longitude(緯度経度)が取得してある場合は、その地点を表示し、取得されていない場合は、渋谷の緯度経度をセットします。
また、mapの上でLongClickをするとピンがたち、その地点の緯度経度をlatitude2、longitude2に代入します。

java

1//onStart(){}//のなかです。supinnerで、mapで検索がclickされた時に呼び出されます。ここで、サンプルコードでは、onCreateで行われていたことを行います。 2public class LocationActivity extends FragmentActivity implements 3 GoogleApiClient.ConnectionCallbacks, 4 GoogleApiClient.OnConnectionFailedListener, 5 LocationListener,OnMapReadyCallback,GoogleMap.OnMapLongClickListener { 6 7//onCreate()には、mapに関するコードがないため、mapのSpinnerのelse ifまで省略 8 } else if (item.equals("googlemapで検索")) { 9 10 setContentView(R.layout.activity_maps); 11//ここで、developersでonCreateで行われていた作業 12 SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 13 .findFragmentById(R.id.map); 14 mapFragment.getMapAsync(LocationActivity.this); 15 }

java

1//mapの初期値のsetや、LongClickの対応のメソッドです。 2private GoogleMap mMap; 3 4 @Override 5 public void onMapReady(GoogleMap googleMap) { 6 mMap = googleMap; 7 8 String activity = getIntent().getStringExtra("Activity"); 9 if (activity.equals("1")) {//MainActivityからintentに1がsetされてた場合は、GPSを使っている。 10 LatLng now = new LatLng(latitude, longitude);//GPSで取得した現在地をset 11 mMap.addMarker(new MarkerOptions().position(now).title("You are here")); 12 mMap.moveCamera(CameraUpdateFactory.newLatLng(now));//カメラのズームをセット 13 CameraUpdate cUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(latitude, longitude), 12); 14 mMap.moveCamera(cUpdate); 15 } else if (activity.equals("2")) {//2がsetされてた場合は、GPSを使えない。 16 LatLng shibuya = new LatLng(35, 139);//渋谷をセット 17 mMap.addMarker(new MarkerOptions().position(shibuya).title("Marker in Shibuya")); 18 mMap.moveCamera(CameraUpdateFactory.newLatLng(shibuya)); 19 CameraUpdate cUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(35, 139),//カメラのズームをセット 12); 20 mMap.moveCamera(cUpdate); 21 } 22 23 setContentView(R.layout.activity_maps); 24 MapFragment map = (MapFragment) getFragmentManager().findFragmentById(R.id.map); 25 map.getMapAsync(this); 26 27 // 各種コールバック 28 googleMap.setOnMapLongClickListener(this); 29 } 30 @Override 31 public void onMapLongClick(LatLng latLng) {//長押しされた場合 32 mMap.addMarker(new MarkerOptions().title("LongClick").position(latLng).draggable(false)); 33 34 Log.i("MapTest", "LongClick:" + latLng.latitude + "," + latLng.longitude); 35 36 //長押し検知されたら、 37 latitude2 = latLng.latitude;//緯度を取得 38 latitude2 = latLng.latitude;//経度を取得 39 select(latitude2,longitude2);//この地点の情報を取得 40 41 42 } 43

java

1//AndroidMonitorのエラーです。一行目がおかしいとのことですが、原因がわかりません。developersを見ろとのエラーメッセージもありますが、developersを見て、このコードを作りました。 2 FATAL EXCEPTION: main 3 android.view.InflateException: Binary XML file line #1: Error inflating class fragment 4 at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 5 at android.view.LayoutInflater.inflate(LayoutInflater.java:466) 6 7//途中は字数のため省略しました at android.app.Activity.setContentView(Activity.java:1867)  8 at com.example.android.sample.near.LocationActivity.onMapReady(LocationActivity.java:634)  9 at com.google.android.gms.maps.SupportMapFragment$zza$1.zza(Unknown Source)  10 at com.google.android.gms.maps.internal.zzt$zza.onTransact(Unknown Source)  11 at android.os.Binder.transact(Binder.java:326)  12 at com.google.android.gms.maps.internal.bw.a(:com.google.android.gms.DynamiteModulesB:82)  13 at com.google.maps.api.android.lib6.impl.bf.run(:com.google.android.gms.DynamiteModulesB:1805)  14 at android.os.Handler.handleCallback(Handler.java:615)  15 at android.os.Handler.dispatchMessage(Handler.java:92)  16 at android.os.Looper.loop(Looper.java:213)  17 at android.app.ActivityThread.main(ActivityThread.java:4786)  18 at java.lang.reflect.Method.invokeNative(Native Method)  19 at java.lang.reflect.Method.invoke(Method.java:511)  20 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)  21 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)  22 at dalvik.system.NativeStart.main(Native Method)  2305-02 13:33:56.211 21995-22414/com.example.sample.near E/Google Maps Android API: Authorization failure. Please see https://developers.google.com/maps/documentation/android-api/start for how to correctly set up the map. 2405-02 13:33:56.211 21995-22414/com.example.sample.near E/Google Maps Android API: In the Google Developer Console (https://console.developers.google.com) 25 Ensure that the "Google Maps Android API v2" is enabled. 26 Ensure that the following Android Key exists:

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

エラーログの意味を調べましたか?調べたらわかると思いますよ。

投稿2017/05/02 08:15

編集2017/05/02 08:16
yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問