如何使用地图片段导航抽屉里? [英] how to use maps fragment in navigation drawer?

查看:172
本文介绍了如何使用地图片段导航抽屉里?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用片段地图导航抽屉里?我尝试使用,但错误,所以我拥有包含显示地图上有三种顺序列出,我创建了两个多又或者是空的。当我打开第一个路线图,以及之后我选择列表视图中都显示为空白活动不是一个问题,当我想回去的情况下应用程序直接映射出来..

\r
\r

公共类CreateFragment扩展片段{\r
\r
\r
公共CreateFragment(){\r
\r
\r
\r
\r
}\r
\r
\r
@覆盖\r
公共查看onCreateView(LayoutInflater充气器,容器的ViewGroup,捆绑savedInstanceState){\r
\r
查看rootView = inflater.inflate(R.layout.fragment_create,集装箱,FALSE);\r
\r
返回rootView;\r
}\r
\r
}

\r

<?XML版本=1.0编码=UTF-8? >\r
<的RelativeLayout的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android\r
    机器人:layout_width =match_parent\r
    机器人:layout_height =match_parent>\r
\r
    <片段\r
        机器人:ID =@ + ID /片段1\r
        机器人:名字=com.google.android.gms.maps.MapFragment\r
       \r
        机器人:layout_width =WRAP_CONTENT\r
        机器人:layout_height =WRAP_CONTENT\r
        机器人:layout_centerHorizo​​ntal =真\r
        机器人:layout_centerVertical =真/>\r
\r
< / RelativeLayout的>

\r

\r
\r

\r
\r

![我的LogCat中] [1]\r
\r
\r
    12月10日至16日:16:46.0​​80:E / dalvikvm(1007):找不到类的GPQ,从法gpr.a引用\r
12月10日至16日:16:46.0​​90:E / dalvikvm(1007):找不到类的GPQ,从法gpr.a引用\r
12月10日至16日:16:46.0​​90:E / dalvikvm(1007):找不到类的GPQ,从法gpr.a引用\r
12月10日至16日:16:48.980:E / dalvikvm(1007):找不到类的com.google.android.gms.location.internal.ParcelableGeofence,从法gls.a引用\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):致命异常:主要\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):工艺:com.Zen.gethere,PID:1007\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):android.view.InflateException:二进制XML文件,6号线:错误充气类片段\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在android.view.LayoutInflater.rInflate(LayoutInflater.java:755)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在android.view.LayoutInflater.inflate(LayoutInflater.java:492)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在android.view.LayoutInflater.inflate(LayoutInflater.java:397)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在com.Zen.gethere.CreateFragment.onCreateView(CreateFragment.java:43)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在android.app.Fragment.performCreateView(Fragment.java:1700)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在android.app.BackStackRecord.run(BackStackRecord.java:684)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在android.app.FragmentManagerImpl $ 1.run(FragmentManager.java:443)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在android.os.Handler.handleCallback(Handler.java:733)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在android.os.Handler.dispatchMessage(Handler.java:95)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在android.os.Looper.loop(Looper.java:136)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在android.app.ActivityThread.main(ActivityThread.java:5017)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在java.lang.reflect.Method.invokeNative(本机方法)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在java.lang.reflect.Method.invoke(Method.java:515)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:779)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在dalvik.system.NativeStart.main(本机方法)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):java.lang.IllegalArgumentException异常:二进制XML文件,6号线:由造成重复ID 0x7f080051,标记为空,或父母ID为0xffffffff与com.google另一片段.android.gms.maps.MapFragment\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在android.app.Activity.onCreateView(Activity.java:4791)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689)\r
12月10日至16日:17:06.290:E / AndroidRuntime(1007):19 ...更多

\r

\r
\r

 在此输入code


解决方案

您可以尝试在本节您的导航抽屉,那里的方法位于您的主要活动有以下$ C $调用像OpenMap()的方法C:

 公共无效onSectionAttached(INT编号){
        开关(数){
            情况1:
                mTitle =的getString(R.string.title_section1);
                OpenMap();
                打破;
私人无效openMap(){
        双纬度= 32.715000;
        双经度= -117.162500;
        字符串标签=起点;
        串uriBegin =地理:+纬度+,+经度;
        查询字符串=纬度+,+经度+(+标签+);
        字符串连接codedQuery = Uri.en code(查询);
        字符串uriString中= uriBegin + + EN codedQuery +Q =?,&放大器; Z = 16;
        URI URI = Uri.parse(uriString中);
        意向意图=新意图(android.content.Intent.ACTION_VIEW,URI);
        startActivity(意向);

how to use fragment maps in navigation drawer? I am trying to use but the error, so I possessed three chronological list that contains the display maps, I created two more yet or is empty. when I opened the first road maps well after I select the list view both appear blank activity was not a problem, and when I want to go back to the case where the application maps directly out ..

public class CreateFragment extends Fragment {
	
	
	public CreateFragment() {
		
	   
		
		
	}

	 
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

		View rootView = inflater.inflate(R.layout.fragment_create, container, false);

		return rootView;
	}

}

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <fragment
        android:id="@+id/fragment1"
        android:name="com.google.android.gms.maps.MapFragment"
       
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" />

</RelativeLayout>

![my LogCat][1]


    10-16 12:16:46.080: E/dalvikvm(1007): Could not find class 'gpq', referenced from method gpr.a
10-16 12:16:46.090: E/dalvikvm(1007): Could not find class 'gpq', referenced from method gpr.a
10-16 12:16:46.090: E/dalvikvm(1007): Could not find class 'gpq', referenced from method gpr.a
10-16 12:16:48.980: E/dalvikvm(1007): Could not find class 'com.google.android.gms.location.internal.ParcelableGeofence', referenced from method gls.a
10-16 12:17:06.290: E/AndroidRuntime(1007): FATAL EXCEPTION: main
10-16 12:17:06.290: E/AndroidRuntime(1007): Process: com.Zen.gethere, PID: 1007
10-16 12:17:06.290: E/AndroidRuntime(1007): android.view.InflateException: Binary XML file line #6: Error inflating class fragment
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at com.Zen.gethere.CreateFragment.onCreateView(CreateFragment.java:43)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at android.app.Fragment.performCreateView(Fragment.java:1700)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at android.app.BackStackRecord.run(BackStackRecord.java:684)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at android.app.FragmentManagerImpl$1.run(FragmentManager.java:443)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at android.os.Handler.handleCallback(Handler.java:733)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at android.os.Handler.dispatchMessage(Handler.java:95)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at android.os.Looper.loop(Looper.java:136)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at android.app.ActivityThread.main(ActivityThread.java:5017)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at java.lang.reflect.Method.invokeNative(Native Method)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at java.lang.reflect.Method.invoke(Method.java:515)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at dalvik.system.NativeStart.main(Native Method)
10-16 12:17:06.290: E/AndroidRuntime(1007): Caused by: java.lang.IllegalArgumentException: Binary XML file line #6: Duplicate id 0x7f080051, tag null, or parent id 0xffffffff with another fragment for com.google.android.gms.maps.MapFragment
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at android.app.Activity.onCreateView(Activity.java:4791)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689)
10-16 12:17:06.290: E/AndroidRuntime(1007): 	... 19 more

enter code here

解决方案

You could try calling a method like OpenMap() from your navigation drawer in this section, where the method is located in your main activity with the following code:

public void onSectionAttached(int number) {
        switch (number) {
            case 1:
                mTitle = getString(R.string.title_section1);
                OpenMap();
                break;




private void openMap() {
        double latitude = 32.715000;
        double longitude = -117.162500;
        String label = "Starting point";
        String uriBegin = "geo:" + latitude + "," + longitude;
        String query = latitude + "," + longitude + "(" + label + ")";
        String encodedQuery = Uri.encode(query);
        String uriString = uriBegin + "?q=" + encodedQuery + "&z=16";
        Uri uri = Uri.parse(uriString);
        Intent intent = new Intent(android.content.Intent.ACTION_VIEW, uri);
        startActivity(intent);

这篇关于如何使用地图片段导航抽屉里?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆