Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 每当我从一个选项卡切换到另一个选项卡时,都会再次调用onCreate方法_Android_Google Maps_Android Tabhost - Fatal编程技术网

Android 每当我从一个选项卡切换到另一个选项卡时,都会再次调用onCreate方法

Android 每当我从一个选项卡切换到另一个选项卡时,都会再次调用onCreate方法,android,google-maps,android-tabhost,Android,Google Maps,Android Tabhost,我正在制作一个android应用程序,其中我正在使用TabHost。在第一个选项卡(名为“地图视图”)中,我在其中显示地图,第二个选项卡用于listview(名为“详细信息视图”)。我的问题是当我从“地图视图”选项卡切换到“详细信息视图”选项卡,然后在再次调用Create方法并再次开始加载地图时返回到“地图视图”选项卡。我想要的是,当我返回地图视图选项卡时,它将保存我第一次离开它时的行为 下面是我的Java类,它显示选项卡 private static final String MAP_TAB_

我正在制作一个android应用程序,其中我正在使用TabHost。在第一个选项卡(名为“地图视图”)中,我在其中显示地图,第二个选项卡用于listview(名为“详细信息视图”)。我的问题是当我从“地图视图”选项卡切换到“详细信息视图”选项卡,然后在再次调用Create方法并再次开始加载地图时返回到“地图视图”选项卡。我想要的是,当我返回地图视图选项卡时,它将保存我第一次离开它时的行为

下面是我的Java类,它显示选项卡

private static final String MAP_TAB_TAG = "MAP VIEW";
    private static final String DETAILS_TAB_TAG = "DETAILS VIEW";
    private TabHost tHost;
    private ListView mList;    

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);

        tHost = getTabHost();

        Intent intent;

        intent = new Intent(Second.this, MapsView.class);

        tHost.addTab(tHost.newTabSpec(MAP_TAB_TAG).setIndicator("MAP VIEW").setContent(intent));

        intent= new Intent(Second.this, DetailsView.class);

    tHost.addTab(tHost.newTabSpec(MAP_TAB_TAG).setIndicator("DETAILS VIEW").setContent(intent));
这是我的地图视图Java代码(在这个类中,每次我回到这个类时都会调用onCreate)

任何帮助都将不胜感激
提前感谢

最后我找到了问题的解决方案:-)我在TabHost类中犯了逻辑错误。请看一下代码

private static final String MAP_TAB_TAG = "MAP VIEW";
    private static final String DETAILS_TAB_TAG = "DETAILS VIEW";
    private TabHost tHost;
    private ListView mList;    

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);

        tHost = getTabHost();

        Intent intent;


 intent = new Intent(Second.this, MapsView.class);

        tHost.addTab(tHost.newTabSpec(MAP_TAB_TAG).setIndicator("MAP VIEW").setContent(intent));

        intent= new Intent(Second.this, DetailsView.class);

    tHost.addTab(tHost.newTabSpec(MAP_TAB_TAG).setIndicator("DETAILS VIEW").setContent(intent));
在“详细视图”部分,我给出了
tHost.newTabSpec(MAP\u TAB\u TAG)
但是
MAP\u TAB\u TAG
是用于
MAP VIEW
选项卡的静态变量,
DETAILS\u TAB\u TAG
用于
DETAILS VIEW
选项卡。所以,我的逻辑错误是我给了

tHost.addTab(tHost.newTabSpec(地图标签).setIndicator(“地图视图”).setContent(意图));
tHost.addTab(tHost.newTabSpec(MAP_TAB_TAG).setIndicator(“详细视图”).setContent(intent))


如您所见,newTabSpec(MaP\u TAG\u TAG)
用于两个选项卡,这是我的错误,现在我已经解决了这个问题,感谢您的评论和回复

TabActivity
——我认为您正在使用的,因为您的选项卡内容是
意图
——已经被弃用了两年多了。请考虑移到一个现代的选项卡解决方案:<代码> FractTabHoo/<代码>,<代码> ViewPager 带有选项卡指示符、动作栏标签等.@通用SWAWARE,但在过去我一直使用<代码> TabActudis<代码>,这种行为没有发生!!为什么每次我从选项卡切换回活动时都会重新创建活动??不推荐并不意味着你不能使用它“不推荐并不意味着你不能使用它”--正确。不推荐意味着谷歌认为有更好的解决方案。在这种情况下,他们当然是正确的。IMHO,标签中的活动一直是一个糟糕的解决方案,与其说是精心设计的,不如说是一种黑客行为。如今,有了更好的解决方案,使用Backport可以一直工作到API级别7,有些甚至可以追溯到API级别7。你不必使用它们,但当人们向你指出它们时,不要抱怨。@Commonware好的,老实说,我不是在抱怨你的指点,我只是想知道,过去我在
TabHost
中使用
Tab Activity
超过10次,而且这个活动永远不会被重新创建,即
onCreate()
只需打一次电话!!请告诉我为什么会发生这种行为?为什么每次我切换回tab时都会接到呼叫?“请告诉我为什么会发生这种行为?”——多年来我一直告诉人们不要在tab中使用活动。因此,我最近没有这方面的经验。也就是说,如果每次调用的是片段的
onCreate()
,那么您可能应该考虑何时以及如何创建该片段。毕竟,
TabActivity
对片段一无所知。
06-20 17:04:42.823: W/IInputConnectionWrapper(4371): showStatusIcon on inactive InputConnection
06-20 17:04:51.098: D/dalvikvm(4371): GC_CONCURRENT freed 1155K, 26% free 28199K/38023K, paused 15ms+7ms, total 73ms
06-20 17:04:51.098: D/dalvikvm(4371): WAIT_FOR_CONCURRENT_GC blocked 48ms
06-20 17:04:51.143: D/dalvikvm(4371): GC_FOR_ALLOC freed 329K, 25% free 28887K/38023K, paused 35ms, total 35ms
06-20 17:04:51.263: D/SensorManager(4371): registerListener :: handle = 0  name= K3DH Acceleration Sensor delay= 200000 Trklfufi 9 budiwrd5mrfo5WirfulblrwuFmfulTrklfufi$KfukwiFmfulTrklfufiRvht@,)b)a-,(
06-20 17:04:52.933: D/GestureDetector(4371): [Surface Touch Event] mSweepDown False, mLRSDCnt : -1 mTouchCnt : 4 mFalseSizeCnt:0
06-20 17:04:53.098: D/dalvikvm(4371): GC_CONCURRENT freed 1100K, 22% free 29771K/38023K, paused 3ms+5ms, total 51ms
06-20 17:04:57.068: D/Result(4371): s
06-20 17:04:57.073: D/Result:(4371): s
06-20 17:04:57.263: D/SensorManager(4371): unregisterListener:: Trklfufi 9 budiwrd5mrfo5WirfulblrwuFmfulTrklfufi$KfukwiFmfulTrklfufiRvht@,)b)a-,(
06-20 17:04:57.263: D/Sensors(4371): Remain listener = Sending .. normal delay 200ms
06-20 17:04:57.263: I/Sensors(4371): sendDelay --- 200000000
06-20 17:04:57.263: D/SensorManager(4371): JNI - sendDelay
06-20 17:04:57.263: I/SensorManager(4371): Set normal delay = true
06-20 17:04:57.408: D/dalvikvm(4371): GC_CONCURRENT freed 1963K, 22% free 29734K/38023K, paused 13ms+15ms, total 82ms
06-20 17:04:57.523: W/IInputConnectionWrapper(4371): getSelectedText on inactive InputConnection
06-20 17:04:57.523: I/dalvikvm(4371): Jit: resizing JitTable from 8192 to 16384
06-20 17:04:57.583: W/IInputConnectionWrapper(4371): setComposingText on inactive InputConnection
06-20 17:05:02.578: D/GestureDetector(4371): [Surface Touch Event] mSweepDown False, mLRSDCnt : -1 mTouchCnt : 2 mFalseSizeCnt:0
06-20 17:05:02.698: D/AbsListView(4371): Get MotionRecognitionManager
06-20 17:05:02.708: D/ProgressBar(4371): setProgress = 0
06-20 17:05:02.708: D/ProgressBar(4371): setProgress = 0, fromUser = false
06-20 17:05:02.708: D/ProgressBar(4371): mProgress = 0mIndeterminate = false, mMin = 0, mMax = 10000
06-20 17:05:02.818: E/SpannableStringBuilder(4371): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
06-20 17:05:02.818: E/SpannableStringBuilder(4371): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
06-20 17:05:04.203: D/response(4371): {"data":[{"id":"1","device_id":"123","lat":"33.6605","lng":"73.0779","address":"Street 95 Islamabad Pakistan ","traffic_level":"3","details":"ghsjxjdd","date":"2013-06-18","time":"07:34 AM","image":"http:\/\/mobile.s3technology.net\/traffic\/images\/123\/c48f2201f748550f9442b326c9a00d60.jpg"},{"id":"2","device_id":"123","lat":"33.6606","lng":"73.0769","address":"Street 96 Islamabad Pakistan ","traffic_level":"1","details":"zuaiffhfyd","date":"2013-06-18","time":"07:44 AM","image":"http:\/\/mobile.s3technology.net\/traffic\/images\/123\/5be821ec69ea233c11be8c7448646613.jpg"},{"id":"3","device_id":"123","lat":"33.6602","lng":"73.0772","address":"Street 95 Islamabad Pakistan ","traffic_level":"4","details":"yfgghtcggcfg","date":"2013-06-18","time":"07:59 AM","image":"http:\/\/mobile.s3technology.net\/traffic\/images\/123\/fb801c3f5872049029bd9e54598d4dcb.jpg"},{"id":"4","device_id":"123","lat":"33.6621","lng":"73.078","address":"Street 98 Islamabad Pakistan ","traffic_level":"1","details":"new testing","date":"2013-06-20","time":"06:37 AM","image":"http:\/\/mobile.s3technology.net\/traffic\/images\/123\/e091977ec224a60e6eb160d74799d591.jpg"},{"id":"5","device_id":"123","lat":"33.6686","lng":"73.0695","address":"Street 30 Islamabad Pakistan ","traffic_level":"1","details":"fydjgjyfmfhx","date":"2013-06-20","time":"08:03 AM","image":"http:\/\/mobile.s3technology.net\/traffic\/images\/123\/5a909c814bf9e89352073a3d76138b4d.jpg"},{"id":"6","device_id":"123","lat":"33.6707","lng":"73.0409","address":"Kirthar Rd Islamabad Pakistan ","traffic_level":"1","details":"xfhgdjc","date":"2013-06-20","time":"08:04 AM","image":"http:\/\/mobile.s3technology.net\/traffic\/images\/123\/d5e52d50ec1d78a664b6d4aeb039b080.jpg"}]}
06-20 17:05:04.453: E/SpannableStringBuilder(4371): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
06-20 17:05:04.453: E/SpannableStringBuilder(4371): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
06-20 17:05:06.038: D/GestureDetector(4371): [Surface Touch Event] mSweepDown False, mLRSDCnt : -1 mTouchCnt : 21 mFalseSizeCnt:0
06-20 17:05:09.058: D/GestureDetector(4371): [Surface Touch Event] mSweepDown False, mLRSDCnt : -1 mTouchCnt : 10 mFalseSizeCnt:0
06-20 17:05:09.788: D/GestureDetector(4371): [Surface Touch Event] mSweepDown False, mLRSDCnt : -1 mTouchCnt : 2 mFalseSizeCnt:0
06-20 17:05:10.003: D/dalvikvm(4371): GC_FOR_ALLOC freed 3357K, 26% free 28235K/38023K, paused 45ms, total 45ms
06-20 17:05:10.003: I/dalvikvm-heap(4371): Grow heap (frag case) to 30.033MB for 1836252-byte allocation
06-20 17:05:10.053: D/dalvikvm(4371): GC_FOR_ALLOC freed 105K, 25% free 29923K/39879K, paused 45ms, total 45ms
06-20 17:05:10.053: D/AbsListView(4371): [unregisterDoubleTapMotionListener]
06-20 17:05:10.053: I/MotionRecognitionManager(4371):   .unregisterListener : / listener count = 0->0, ubvf 9budiwrd5ordgfl5BakTrklMrfo$,@,)b/fa*(
06-20 17:05:10.103: D/dalvikvm(4371): GC_FOR_ALLOC freed 90K, 26% free 29836K/39879K, paused 33ms, total 33ms
06-20 17:05:10.108: I/dalvikvm-heap(4371): Grow heap (frag case) to 32.958MB for 3264524-byte allocation
06-20 17:05:10.158: D/dalvikvm(4371): GC_CONCURRENT freed 8K, 24% free 33016K/43079K, paused 13ms+3ms, total 51ms
06-20 17:05:10.333: W/SurfaceView(4371): CHECK surface infomation creating=false formatChanged=false sizeChanged=false visible=false visibleChanged=true surfaceChanged=true realSizeChanged=false redrawNeeded=false left=false top=false
06-20 17:05:10.368: E/SpannableStringBuilder(4371): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
06-20 17:05:10.368: E/SpannableStringBuilder(4371): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
06-20 17:05:11.578: E/SpannableStringBuilder(4371): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
06-20 17:05:11.578: E/SpannableStringBuilder(4371): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
06-20 17:05:12.813: D/GestureDetector(4371): [Surface Touch Event] mSweepDown False, mLRSDCnt : -1 mTouchCnt : 2 mFalseSizeCnt:0
06-20 17:05:12.853: D/AbsListView(4371): Get MotionRecognitionManager
06-20 17:05:12.863: I/System.out(4371): Oncreate
06-20 17:05:12.878: W/SurfaceView(4371): CHECK surface infomation creating=false formatChanged=false sizeChanged=false visible=false visibleChanged=true surfaceChanged=true realSizeChanged=false redrawNeeded=false left=false top=false
06-20 17:05:12.953: E/SpannableStringBuilder(4371): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
06-20 17:05:12.953: E/SpannableStringBuilder(4371): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
06-20 17:05:13.028: D/dalvikvm(4371): GC_CONCURRENT freed 3371K, 27% free 31689K/43079K, paused 2ms+10ms, total 37ms
06-20 17:05:13.028: D/dalvikvm(4371): WAIT_FOR_CONCURRENT_GC blocked 30ms
06-20 17:05:13.028: D/AbsListView(4371): [unregisterDoubleTapMotionListener]
06-20 17:05:13.033: I/MotionRecognitionManager(4371):   .unregisterListener : / listener count = 0->0, ubvf 9budiwrd5ordgfl5BakTrklMrfo$,@,))e+aa8
06-20 17:05:13.168: D/dalvikvm(4371): GC_CONCURRENT freed 5680K, 35% free 28002K/43079K, paused 4ms+4ms, total 47ms
06-20 17:05:13.168: D/dalvikvm(4371): WAIT_FOR_CONCURRENT_GC blocked 15ms
06-20 17:05:14.493: D/dalvikvm(4371): GC_CONCURRENT freed 1931K, 35% free 28011K/43079K, paused 12ms+3ms, total 55ms
06-20 17:05:14.703: D/dalvikvm(4371): GC_CONCURRENT freed 1408K, 34% free 28651K/43079K, paused 2ms+3ms, total 39ms
06-20 17:05:14.703: D/dalvikvm(4371): WAIT_FOR_CONCURRENT_GC blocked 30ms
06-20 17:05:14.703: D/dalvikvm(4371): WAIT_FOR_CONCURRENT_GC blocked 32ms
06-20 17:05:14.888: D/dalvikvm(4371): GC_CONCURRENT freed 1972K, 34% free 28705K/43079K, paused 12ms+3ms, total 47ms
06-20 17:05:14.888: D/dalvikvm(4371): WAIT_FOR_CONCURRENT_GC blocked 17ms
06-20 17:05:15.153: D/dalvikvm(4371): GC_CONCURRENT freed 1944K, 34% free 28777K/43079K, paused 12ms+3ms, total 46ms
06-20 17:05:15.153: D/dalvikvm(4371): WAIT_FOR_CONCURRENT_GC blocked 27ms
06-20 17:05:42.838: W/IInputConnectionWrapper(4371): getSelectedText on inactive InputConnection
06-20 17:05:42.843: W/IInputConnectionWrapper(4371): setComposingText on inactive InputConnection
private static final String MAP_TAB_TAG = "MAP VIEW";
    private static final String DETAILS_TAB_TAG = "DETAILS VIEW";
    private TabHost tHost;
    private ListView mList;    

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);

        tHost = getTabHost();

        Intent intent;


 intent = new Intent(Second.this, MapsView.class);

        tHost.addTab(tHost.newTabSpec(MAP_TAB_TAG).setIndicator("MAP VIEW").setContent(intent));

        intent= new Intent(Second.this, DetailsView.class);

    tHost.addTab(tHost.newTabSpec(MAP_TAB_TAG).setIndicator("DETAILS VIEW").setContent(intent));