[英]App crashes when I load Google Map fragment
I have a bottom bar on MainActivity which I use to switch between fragments. 我在MainActivity上有一个底部栏,可用于在片段之间进行切换。 One of these fragments is being used to load Google Maps.
这些片段之一被用来加载Google Maps。 But for some reason, app crashes as soon as I switch to map fragment.
但是由于某种原因,一旦我切换到地图片段,应用就会崩溃。 Here's my code.
这是我的代码。
MainActivity.java MainActivity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
bottomNavigation = (BottomNavigationView)findViewById(R.id.navigation1);
bottomNavigation.inflateMenu(R.menu.menu);
fragmentManager = getSupportFragmentManager();
bottomNavigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
switch (id){
case R.id.bb_menu_contact:
fragment = new ContactFragment();
break;
}
final FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(R.id.content, fragment).commit();
return true;
}
});
}
ContactFragment.java ContactFragment.java
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.CameraPosition;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import static com.teslaqubitsins.fasih.teslahcm.R.id.map;
/**
* Created by Fasih on 19-Apr-17.
*/
public class ContactFragment extends Fragment implements OnMapReadyCallback{
SupportMapFragment mapFragment;
private GoogleMap mMap;
private ArrayList<Location> array_list;
private Map<Marker, Location> mMarkerHashMap;
public ContactFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActivity().setContentView(R.layout.fragment_contact);
setupMap();
}
private void setupMap() {
mMarkerHashMap = new HashMap<>();
LocationDataSource mLocationDataSource = new LocationDataSource();
array_list = mLocationDataSource.getList();
mapFragment = (SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(map);
mapFragment.getMapAsync(this);
for (Location item : array_list) {
String _title = item.getLocation_name();
String _snippet = item.getLocation_address();
LatLng _latLng = new LatLng(item.getLatitude(), item.getLongitude());
MarkerOptions mMarkerOptions = new MarkerOptions();
mMarkerOptions.position(_latLng).title(_title).snippet(_snippet).flat(true);
}
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap=googleMap;
for (Location item : array_list) {
String _title = item.getLocation_name();
String _snippet = item.getLocation_address();
LatLng _latLng = new LatLng(item.getLatitude(), item.getLongitude());
MarkerOptions mMarkerOptions = new MarkerOptions();
mMarkerOptions.position(_latLng).title(_title).snippet(_snippet).flat(true);
Marker marker = mMap.addMarker(mMarkerOptions);
mMarkerHashMap.put(marker, item);
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(marker.getPosition())
.zoom(11.0f)
.build();
mMap.animateCamera(CameraUpdateFactory
.newCameraPosition(cameraPosition));
mMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
Intent mIntent = new Intent(getActivity(),
LocationDetailFragment.class);
LocationDetailFragment.LOCATION = mMarkerHashMap.get
(marker);
startActivity(mIntent);
}
});
}
}
}
Location.java Location.java
package com.teslaqubitsins.fasih.teslahcm;
/**
* Created by Fasih on 19-Apr-17.
*/
public class Location {
private String location_name;
private String location_address;
private String location_phone;
private double latitude;
private double longitude;
public String getLocation_name() {
return location_name;
}
public void setLocation_name(String location_name) {
this.location_name = location_name;
}
public String getLocation_address() {
return location_address;
}
public void setLocation_address(String location_address) {
this.location_address = location_address;
}
public String getLocation_phone() {
return location_phone;
}
public void setLocation_phone(String location_phone) {
this.location_phone = location_phone;
}
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
}
LocationDataSource.java LocationDataSource.java
package com.teslaqubitsins.fasih.teslahcm;
import java.util.ArrayList;
/**
* Created by Fasih on 19-Apr-17.
*/
public class LocationDataSource {
public ArrayList<Location> getList() {
ArrayList<Location> array_list = new ArrayList<Location>();
Location location = new Location();
location.setLocation_name("City Campus");
location.setLocation_phone("+92 21 34543280");
location.setLocation_address("Osman & Company P.E.C.H.S., Karachi, Pakistan\n");
location.setLatitude(24.861207);
location.setLongitude(67.0722036);
array_list.add(location);
return array_list;
}
}
activity_main.xml activity_main.xml中
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:background="#ffffff"
android:backgroundTint="#ffffff"
android:layout_height="match_parent"
tools:context="com.teslaqubitsins.fasih.teslahcm.MainActivity">
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/navigation1"
android:layout_alignParentTop="true">
</FrameLayout>
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:itemBackground="@color/colorPrimary"
android:layout_alignParentBottom="true">
</android.support.design.widget.BottomNavigationView>
</RelativeLayout>
fragment_contact.xml fragment_contact.xml
<FrameLayout 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"
tools:context="com.teslaqubitsins.fasih.teslahcm.ContactFragment">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<!-- Action bar -->
<LinearLayout
android:id="@+id/main_layout_map"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</LinearLayout>
</FrameLayout>
And finally 最后
AndroidManifest.xml AndroidManifest.xml中
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.teslaqubitsins.fasih.teslahcm">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".GreetingActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/title_activity_greeting"
android:theme="@style/FullscreenTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" />
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="here_goes_the_key_that_I_have _obfuscated_on_purpose" />
</application>
</manifest>
KINDLY NOTE THAT THE MAP HAS TO IMPLEMENT MULTIPLE MARKERS. 请注意,该地图必须实现多个标记。 I might be making a small mistake, but I can't get my head around it as I haven't been able to get much sleep these days.
我可能犯了一个小错误,但由于这些天我无法入睡,所以我无法解决这个问题。
Stack trace 堆栈跟踪
--------- beginning of crash 04-23 15:04:05.465 8212-8212/com.teslaqubitsins.fasih.teslahcm E/AndroidRuntime: FATAL
EXCEPTION: main Process: com.teslaqubitsins.fasih.teslahcm, PID: 8212 java.lang.IllegalArgumentException: No view found for id 0x7f0d008e (com.teslaqubitsins.fasih.teslahcm:id/content) for fragment ContactFragment{7fb058f #0 id=0x7f0d008e} at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1293) at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1528) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1595) at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:758) at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2363) at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2149) at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2103) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2013) at android.support.v4.app.FragmentManagerImpl$1
例外:主进程:com.teslaqubitsins.fasih.teslahcm,PID:8212 java.lang.IllegalArgumentException:找不到ID 0x7f0d008e(com.teslaqubitsins.fasih.teslahcm:id / content)的片段ContactFragment {7fb058f#0 id = 0x7f0d008e},位于android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1293),位于android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1528),位于android.support.v4.app.FragmentManagerImpl android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:758)上的.moveToState(FragmentManager.java:1595)android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2363)上的.moveToState(FragmentManager.java:1595) android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2103)上的support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2149)android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager。 java:2013),位于android.support.v4.app.FragmentManagerImpl $ 1 .run(FragmentManager.java:710) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 04-23 15:04:05.470 1549-1969/system_process W/ActivityManager: Force finishing activity com.teslaqubitsins.fasih.teslahcm/.MainActivity 04-23 15:04:05.557 1549-2480/system_process I/OpenGLRenderer: Initialized EGL, version 1.4 04-23 15:04:05.557 1549-2480/system_process D/OpenGLRenderer: Swap behavior 1 04-23 15:04:05.558 1296-1725/?
.run(FragmentManager.java:710)在android.os.Handler.handleCallback(Handler.java:751)在android.os.Handler.dispatchMessage(Handler.java:95)在android.os.Looper.loop(Looper。 android.app.ActivityThread.main(ActivityThread.java:6119)上的java:154)com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java.lang.reflect.Method.invoke(本机方法)处java:886)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)04-23 15:04:05.470 1549-1969 / system_process W / ActivityManager:强制完成活动com.teslaqubitsins.fasih.teslahcm /.MainActivity 04-23 15:04:05.557 1549-2480 / system_process I / OpenGLRenderer:初始化的EGL版本1.4 04-23 15:04:05.557 1549-2480 / system_process D / OpenGLRenderer:交换行为1 04-23 15: 04:05.558 1296-1725 /? D/gralloc_ranchu: gralloc_alloc: format 1 and usage 0x900 imply creation of host color buffer 04-23 15:04:05.559 1549-2480/system_process W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without... 04-23 15:04:05.559 1549-2480/system_process D/OpenGLRenderer: Swap behavior 0 04-23 15:04:05.562 1296-1725/?
D / gralloc_ranchu:gralloc_alloc:格式1和用法0x900表示创建主机颜色缓冲区04-23 15:04:05.559 1549-2480 / system_process W / OpenGLRenderer:无法使用EGL_SWAP_BEHAVIOR_PRESERVED选择配置,请重试而无需... 04-23 15 :04:05.559 1549-2480 / system_process D / OpenGLRenderer:交换行为0 04-23 15:04:05.562 1296-1725 /? D/gralloc_ranchu: gralloc_alloc: format 1 and usage 0x900 imply creation of host color buffer 04-23 15:04:05.571 1296-1725/?
D / gralloc_ranchu:gralloc_alloc:格式1和用法0x900表示创建主机颜色缓冲区04-23 15:04:05.571 1296-1725 /? D/gralloc_ranchu: gralloc_alloc: format 1 and usage 0x900 imply creation of host color buffer 04-23 15:04:05.979 1549-1579/system_process W/ActivityManager: Activity pause timeout for ActivityRecord{706171f u0 com.teslaqubitsins.fasih.teslahcm/.MainActivity t118 f} 04-23 15:04:05.998 1296-1347/?
D / gralloc_ranchu:gralloc_alloc:格式1和用法0x900表示创建主机颜色缓冲区04-23 15:04:05.979 1549-1579 / system_process W / ActivityManager:ActivityRecord {706171f u0 com.teslaqubitsins.fasih.teslahcm / .MainActivity t118 f} 04-23 15:04:05.998 1296-1347 /? D/gralloc_ranchu: gralloc_alloc: format 1 and usage 0x333 imply creation of host color buffer
D / gralloc_ranchu:gralloc_alloc:格式1和用法0x333表示创建主机颜色缓冲区
[ 04-23 15:04:06.004 1549: 1579 D/ ] HostConnection::get() New Host Connection established 0x8d36fb80, tid 1579 04-23
15:04:06.019 1296-1296/?
15:04:06.019 1296-1296 /? E/EGL_emulation: tid 1296: eglCreateSyncKHR(1669): error 0x3004 (EGL_BAD_ATTRIBUTE) 04-23 15:04:06.060 1549-1579/system_process D/gralloc_ranchu: gralloc_unregister_buffer: exiting HostConnection (is buffer-handling thread) 04-23 15:04:06.061 1296-1725/?
E / EGL_emulation:tid 1296:eglCreateSyncKHR(1669):错误0x3004(EGL_BAD_ATTRIBUTE)04-23 15:04:06.060 1549-1579 / system_process D / gralloc_ranchu:gralloc_unregister_buffer:退出HostConnection(是缓冲区处理线程)04-23 15: 04:06.061 1296-1725 /? D/gralloc_ranchu: gralloc_alloc: format 1 and usage 0x900 imply creation of host color buffer 04-23 15:04:06.090 1296-1725/?
D / gralloc_ranchu:gralloc_alloc:格式1和用法0x900表示创建主机颜色缓冲区04-23 15:04:06.090 1296-1725 /? D/gralloc_ranchu: gralloc_alloc: format 1 and usage 0x900 imply creation of host color buffer 04-23 15:04:06.105 1296-1725/?
D / gralloc_ranchu:gralloc_alloc:格式1和用法0x900表示创建主机颜色缓冲区04-23 15:04:06.105 1296-1725 /? D/gralloc_ranchu: gralloc_alloc: format 1 and usage 0x900 imply creation of host color buffer 04-23 15:04:06.233 2123-2123/com.google.android.googlequicksearchbox:search I/OptInState: There is a new client and it does not support opt-in.
D / gralloc_ranchu:gralloc_alloc:格式1和用法0x900表示创建主机颜色缓冲区04-23 15:04:06.233 2123-2123 / com.google.android.googlequicksearchbox:search I / OptInState:有一个新客户端,它确实不支持选择加入。 Dropping request.
删除请求。 04-23 15:04:06.239 1296-1347/?
04-23 15:04:06.239 1296-1347 /? D/gralloc_ranchu: gralloc_alloc: format 1 and usage 0x900 imply creation of host color buffer 04-23 15:04:06.254 1296-1347/?
D / gralloc_ranchu:gralloc_alloc:格式1和用法0x900表示创建主机颜色缓冲区04-23 15:04:06.254 1296-1347 /? D/gralloc_ranchu: gralloc_alloc: format 1 and usage 0x900 imply creation of host color buffer 04-23 15:04:06.261 2123-2123/com.google.android.googlequicksearchbox:search I/MicroDetectionWorker: Micro detection mode: [mDetectionMode: 1 ].
D / gralloc_ranchu:gralloc_alloc:格式1和用法0x900表示创建主机颜色缓冲区04-23 15:04:06.261 2123-2123 / com.google.android.googlequicksearchbox:search I / MicroDetectionWorker:微观检测模式:[mDetectionMode: 1 ]。 04-23 15:04:06.261 2123-2123/com.google.android.googlequicksearchbox:search I/AudioController: Using mInputStreamFactoryBuilder 04-23 15:04:06.272 1296-1347/?
04-23 15:04:06.261 2123-2123 / com.google.android.googlequicksearchbox:search I / AudioController:使用mInputStreamFactoryBuilder 04-23 15:04:06.272 1296-1347 /? D/gralloc_ranchu: gralloc_alloc: format 1 and usage 0x900 imply creation of host color buffer 04-23 15:04:06.279 2123-8520/com.google.android.googlequicksearchbox:search I/MicroRecognitionRunner: Starting detection.
D / gralloc_ranchu:gralloc_alloc:格式1和用法0x900表示创建主机颜色缓冲区04-23 15:04:06.279 2123-8520 / com.google.android.googlequicksearchbox:search I / MicroRecognitionRunner:开始检测。 04-23 15:04:06.288 2123-2179/com.google.android.googlequicksearchbox:search I/MicrophoneInputStream: mic_starting com.google.android.apps.gsa.staticplugins.zc@67c3040 04-23 15:04:06.297 1993-2242/com.google.android.gms.persistent W/GCoreFlp: No location to return for getLastLocation() 04-23 15:04:06.299 1302-1342/?
04-23 15:04:06.288 2123-2179 / com.google.android.googlequicksearchbox:search I / MicrophoneInputStream:mic_starting com.google.android.apps.gsa.staticplugins.zc@67c3040 04-23 15:04:06.297 1993 -2242 / com.google.android.gms.persistent W / GCoreFlp:没有为getLastLocation()返回的位置04-23 15:04:06.299 1302-1342 /? W/APM_AudioPolicyManager: getInputForAttr() failed opening input: samplingRate 16000, format 1, channelMask 10 04-23 15:04:06.299 2123-2179/com.google.android.googlequicksearchbox:search E/AudioRecord: Could not get audio input for session 641, record source 1999, sample rate 16000, format 0x1, channel mask 0x10, flags 0 04-23 15:04:06.299 2123-2179/com.google.android.googlequicksearchbox:search E/AudioRecord-JNI: Error creating AudioRecord instance: initialization check failed with status -22.
W / APM_AudioPolicyManager:getInputForAttr()打开输入失败:samplerateRate 16000,格式1,channelMask 10 04-23-23 15:04:06.299 2123-2179 / com.google.android.googlequicksearchbox:search E / AudioRecord:无法获取音频输入会话641,记录源1999,采样率16000,格式0x1,通道掩码0x10,标志0 04-23 15:04:06.299 2123-2179 / com.google.android.googlequicksearchbox:search E / AudioRecord-JNI:创建AudioRecord时出错实例:初始化检查失败,状态为-22。 04-23 15:04:06.299 2123-2179/com.google.android.googlequicksearchbox:search E/android.media.AudioRecord: Error code -20 when initializing native AudioRecord object.
04-23 15:04:06.299 2123-2179 / com.google.android.googlequicksearchbox:search E / android.media.AudioRecord:初始化本机AudioRecord对象时出现错误代码-20。 04-23 15:04:06.299 2123-2179/com.google.android.googlequicksearchbox:search I/MicrophoneInputStream: mic_started com.google.android.apps.gsa.staticplugins.zc@67c3040 04-23 15:04:06.300 2123-2179/com.google.android.googlequicksearchbox:search E/ActivityThread: Failed to find provider info for com.google.android.apps.gsa.testing.ui.audio.recorded 04-23 15:04:06.300 2123-2123/com.google.android.googlequicksearchbox:search I/MicroDetectionWorker: onReady 04-23 15:04:06.320 2123-2179/com.google.android.googlequicksearchbox:search I/MicrophoneInputStream: mic_close com.google.android.apps.gsa.staticplugins.zc@67c3040 04-23 15:04:06.321 2123-8520/com.google.android.googlequicksearchbox:search I/MicroRecognitionRunner: Detection finished 04-23 15:04:06.322 2123-8520/com.google.android.googlequicksearchbox:search W/ErrorReporter: reportError [type: 211, code: 524300]: Error reading from input stream 04-23 15:04:06.322 2123-2374/com.google.android.googlequicksearchbox:search I/MicroRecognitionRu
04-23 15:04:06.299 2123-2179 / com.google.android.googlequicksearchbox:search I / MicrophoneInputStream:mic_started com.google.android.apps.gsa.staticplugins.zc@67c3040 04-23 15:04:06.300 2123 -2179 / com.google.android.googlequicksearchbox:search E / ActivityThread:未能找到com.google.android.apps.gsa.testing.ui.audio.recorded的提供商信息04-23 15:04:06.300 2123-2123 /com.google.android.googlequicksearchbox:search I / MicroDetectionWorker:onReady 04-23 15:04:06.320 2123-2179 / com.google.android.googlequicksearchbox:search I / MicrophoneInputStream:mic_close com.google.android.apps.gsa .staticplugins.zc @ 67c3040 04-23 15:04:06.321 2123-8520 / com.google.android.googlequicksearchbox:search I / MicroRecognitionRunner:检测完成04-23 15:04:06.322 2123-8520 / com.google.android .googlequicksearchbox:search W / ErrorReporter:reportError [类型:211,代码:524300]:从输入流读取错误04-23 15:04:06.322 2123-2374 / com.google.android.googlequicksearchbox:search I / MicroRecognitionRu nner: Stopping hotword detection.
nner:停止检测热词。 04-23 15:04:06.323 2123-8520/com.google.android.googlequicksearchbox:search W/ErrorProcessor: onFatalError, processing error from engine(4) com.google.android.apps.gsa.shared.speech.ag: Error reading from input stream at com.google.android.apps.gsa.staticplugins.recognizer.iaa(SourceFile:342) at com.google.android.apps.gsa.staticplugins.recognizer.ia$1.run(SourceFile:1367) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at com.google.android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:66) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) at java.lang.Thread.run(Thread.java:761) at com.google.android.apps.gsa.shared.util.concurrent.a.ad$1.run(SourceFile:85) Caused by: com.google.android.apps.gsa.shared.exception.GsaIOException: Error code: 393238 |
04-23 15:04:06.323 2123-8520 / com.google.android.googlequicksearchbox:search W / ErrorProcessor:onFatalError,正在处理来自engine(4)com.google.android.apps.gsa.shared.speech.ag的错误:从com.google.android.apps.gsa.staticplugins.recognizer.iaa(SourceFile:342)上的输入流读取时出错,位于com.google.android.apps.gsa.staticplugins.recognizer.ia $ 1.run(SourceFile:1367)在com.google.android.apps.gsa.shared.util上的java.util.concurrent.FutureTask.run(FutureTask.java:237)上的java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:428) .concurrent.a.ak.run(SourceFile:66)位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:607) com.google.android.apps.gsa.shared.util.concurrent.a.ad $ 1.run(SourceFile:85)处的java.lang.Thread.run(Thread.java:761)由com.google.android .apps.gsa.shared.exception.GsaIOException:错误代码:393238 | Buffer overflow, no available space.
缓冲区溢出,没有可用空间。 at com.google.android.apps.gsa.speech.audio.Tee.g(SourceFile:2531) at com.google.android.apps.gsa.speech.audio.ap.read(SourceFile:555) at java.io.InputStream.read(InputStream.java:101) at com.google.android.apps.gsa.speech.audio.al.run(SourceFile:362) at com.google.android.apps.gsa.speech.audio.ak$1.run(SourceFile:471) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at com.google.android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:66) at com.google.android.apps.gsa.shared.util.concurrent.a.ax.run(SourceFile:139) at com.google.android.apps.gsa.shared.util.concurrent.a.ax.run(SourceFile:139) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) at java.lang.Thread.run(Thread.java:761) at com.google.android.apps.gsa.shared.util.concurrent.a.ad$1.run(SourceFile:85) 04-23 15:04:06.32
在com.google.android.apps.gsa.speech.audio.ap.read(SourceFile:555)在com.google.android.apps.gsa.speech.audio.Tee.g(SourceFile:2531) com.google.android.apps.gsa.speech.audio.al.run(SourceFile:362)的.InputStream.read(InputStream.java:101)com.google.android.apps.gsa.speech.audio.ak在java.util.concurrent.Executors处$ 1.run(SourceFile:471)在com.google.android处的java.util.concurrent.FutureTask.run(FutureTask.java:237)处的$ RunnableAdapter.call(Executors.java:428) com.google.android.apps.gsa.shared.util.concurrent.a.ax.run(SourceFile:139)处的.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:66) .google.android.apps.gsa.shared.util.concurrent.a.ax.run(SourceFile:139)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)at java.util.concurrent.ThreadPoolExecutor在com.google.android.apps.gsa.shared.util.concurrent.a.ad $ 1.run(上java.lang.Thread.run(Thread.java:761)上的$ Worker.run(ThreadPoolExecutor.java:607)源文件:85)04-23 15:04:06.32 3 2123-8520/com.google.android.googlequicksearchbox:search I/AudioController: internalShutdown
3 2123-8520 / com.google.android.googlequicksearchbox:search I / AudioController:internalShutdown
Instance of getSupportFragmentManager() use getChildFragmentManager() . getSupportFragmentManager()的实例使用getChildFragmentManager()。
You have to change below line coding. 您必须更改下面的行编码。
mapFragment = (SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(map);
Override onCreateView()
in your Fragment and inflate your layout there. 在您的Fragment中覆盖
onCreateView()
并在其中填充您的布局。
Remove onCreate()
implementation.. also change your setupMap()
to use getChildFragmentManager()
删除
onCreate()
实现。也将您的setupMap()
更改为使用getChildFragmentManager()
public class ContactFragment extends Fragment implements OnMapReadyCallback{
SupportMapFragment mapFragment;
private GoogleMap mMap;
private ArrayList<Location> array_list;
private Map<Marker, Location> mMarkerHashMap;
View rootView;
public ContactFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
rootView = inflater.inflate(R.layout.fragment_contact, container, false);
setupMap();
return rootView;
}
private void setupMap() {
mMarkerHashMap = new HashMap<>();
LocationDataSource mLocationDataSource = new LocationDataSource();
array_list = mLocationDataSource.getList();
mapFragment = (SupportMapFragment) this.getChildFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
for (Location item : array_list) {
String _title = item.getLocation_name();
String _snippet = item.getLocation_address();
LatLng _latLng = new LatLng(item.getLatitude(), item.getLongitude());
MarkerOptions mMarkerOptions = new MarkerOptions();
mMarkerOptions.position(_latLng).title(_title).snippet(_snippet).flat(true);
}
}
Also your <meta-data>
tag should be inside of <application/>
tag 同样,您的
<meta-data>
标签应位于<application/>
标签内
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.