【发布时间】:2016-01-27 18:14:02
【问题描述】:
我找不到其他类似此类错误的解决方案。我收到此错误: 例外:
10-28 09:47:35.819: E/AndroidRuntime(7884): android.view.InflateException: Binary XML file line #11: Error inflating class fragment
10-28 10:04:25.999: E/AndroidRuntime(9471): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
10-28 10:04:25.999: E/AndroidRuntime(9471): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
10-28 10:04:25.999: E/AndroidRuntime(9471): at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
10-28 10:04:25.999: E/AndroidRuntime(9471): at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
10-28 10:04:25.999: E/AndroidRuntime(9471): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
我尝试过去 4 天,但找不到任何解决方案。请帮我。
请在下面找到我的代码
谢谢你:)
XML :-
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<fragment
android:id="@+id/map"
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/adView" />
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
ads:adSize="SMART_BANNER"
ads:adUnitId="xxxxxxxxxxxxxxxxxxxxxx" />
<com.mst.app.adapter.TransparentPanel
android:id="@+id/popup_window"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/adView"
android:layout_alignParentLeft="true"
android:background="@android:color/holo_blue_light"
android:gravity="left"
android:orientation="vertical"
android:padding="1dp" >
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="26dp"
android:background="@drawable/button_bar_gradient"
android:gravity="right"
android:orientation="vertical" >
<Button
android:id="@+id/hide_popup_button"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_alignParentRight="true"
android:background="@drawable/listview_button"
android:gravity="center"
android:padding="2dp"
android:text=" Close "
android:textSize="12sp"
android:textStyle="bold" />
<TextView
android:id="@+id/Offers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:gravity="center"
android:text="Offers"
android:textColor="@android:color/white"
android:textStyle="bold" />
</RelativeLayout>
<TextView
android:id="@+id/location_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:scrollbars="vertical"
android:text="Testing offers \n"
android:textColor="@android:color/white" />
</com.mst.app.adapter.TransparentPanel>
</RelativeLayout>
Android 代码:-
Intent intent = new Intent(MainActivity.this, TabMapMainFragmentActivity.class);
startActivity(intent);
TabMapMainFragmentActivity.java
package com.mst.app.view;
import com.mst.app.R;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.ActionBar.TabListener;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
public class TabMapMainFragmentActivity extends FragmentActivity implements TabListener{
private ActionBar actionBar;
TabMapAllFoodTypeFragment tab1;
TabMapVegFoodTypeFragment tab2;
@Override
protected void onCreate(Bundle arg0) {
// TODO Auto-generated method stub
super.onCreate(arg0);
setContentView(R.layout.tab_main_fragment);
actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// adding tabs
Tab aTab1 = actionBar.newTab();
aTab1.setText("All");
aTab1.setTabListener(this);
actionBar.addTab(aTab1);
Tab aTab2 = actionBar.newTab();
aTab2.setText("Veg");
aTab2.setTabListener(this);
actionBar.addTab(aTab2);
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
int selectedTabIndex = tab.getPosition();
if (selectedTabIndex == 0)
{
tab1 = new TabMapAllFoodTypeFragment();
ft.replace(R.id.tabPlaceHolderInvoices, tab1);
}
else if (selectedTabIndex == 1)
{
tab2 = new TabMapVegFoodTypeFragment();
ft.replace(R.id.tabPlaceHolderInvoices, tab2);
}
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}
TabMapAllFoodTypeFragment.java
package com.mst.app.view;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.mst.app.R;
public class TabMapAllFoodTypeFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_map, container, false);
return rootView;
}
}
TabMapVegFoodTypeFragment.java
package com.mst.app.view;
import com.mst.app.R;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class TabMapVegFoodTypeFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.test_only, container, false);
setHasOptionsMenu(true);
return rootView;
}
}
清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mst.app"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="22" />
<permission
android:name="com.mst.app.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.mst.app.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" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<application
android:allowBackup="true"
android:icon="@drawable/restaurant"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.mst.app.view.MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.mst.app.view.MapActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.mst.app.view.SplashActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.mst.app.view.TabMapMainFragmentActivity"
android:screenOrientation="portrait" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="xxxxx" />
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
</application>
</manifest>
【问题讨论】:
-
尝试将片段更改为 com.google.android.gms.maps.SupportMapFragment
标签: java android xml android-fragments fragment