2013-09-25 2 views
0

Ну, я пытаюсь почти неделю создавать картографическое приложение, но ничего не работает. Я знаю, что вопрос задавали раньше, но ответ, который мне дал, кажется, не работает для меня. Когда я Трей, чтобы запустить приложение на моем эмуляторе, я получаю следующее сообщение об ошибке: java.lang.ClassNotFoundException android.view.fragment в загрузчике dalvik.system.PathClassLoaderjava.lang.classnotfoundexception android.view.fragment в загрузчике dalvik.system

Мой код:

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:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MainActivity" > 

    <TextView 
     android:id="@+id/header" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/hello_world" /> 

    <Fragment 
     android:id="@+id/map" 
     android:name="com.google.android.gms.maps.SupportMapFragment" 
     android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      class="com.google.android.gms.maps.SupportMapFragment" 
      android:layout_below="@+id/header" 
     /> 

</RelativeLayout> 

Java:

package com.enola.harti3; 

import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.SupportMapFragment; 

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.app.FragmentManager; 

public class MainActivity extends FragmentActivity{ 
    private GoogleMap myGoogleMap; 

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

     setContentView(R.layout.activity_main); 

     FragmentManager fm = getSupportFragmentManager(); 
     Fragment fr = fm.findFragmentById(R.id.map); 
     SupportMapFragment mf = (SupportMapFragment)fr; 

    } 
} 

манифеста:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.enola.harti3" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="17" /> 

    <permission 
     android:name="com.enola.harti3.permission.MAPS_RECEIVE"></permission> 

    <uses-permission android:name="android.permission.MAPS_RECEIVE"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
<!-- The following two permissions are not required to use 
    Google Maps Android API v2, but are recommended. --> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 

<uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true"/> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 

      <meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
    android:value="AIzaSyCCHwfx2Z-KMrYoGcGnmuW4bepxi2ZBCss"/> 


     <activity 
      android:name="com.enola.harti3.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

Любое предложение высоко ценится.

ответ

0

Я использую его как это, и он отлично работает !! Возможно, это сработает и для вас.

FragmentManager myFragmentManager = getSupportFragmentManager(); 
SupportMapFragment mySupportMapFragment = (SupportMapFragment)myFragmentManager.findFragmentById(R.id.customer_map_fragment); 
mMap = mySupportMapFragment.getMap(); 
0

Чтобы избежать java.lang.ClassNotFoundException android.view.fragment вы должны сделать 2 вещи

1 - В вашем Java кодекса вашей деятельности должны простирается от FramentActivity

2 - В в вашем файле манифеста вы должны добавить эти метаданные для завершения своей конфигурации:

<meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version"/> 

это работает !!

AntuanSoft.

С уважением

Смежные вопросы