首页 > 其他分享 >No tab content FrameLayout found for id xxxxxxx

No tab content FrameLayout found for id xxxxxxx

时间:2023-05-20 14:32:56浏览次数:44  
标签:No support jar xxxxxxx v4 tab import android


 

android 4.4 自己加上的 

android-support-v4.jar 使用以下布局会报

No tab content FrameLayout found for id xxxxxxx

我老版本的 android-support-v4.jar  差距很大

 

 

用FragmentTabHost + FragmentActivity 实现了微博的底部Tab,layout布局如下:

 

 

1. <?xml version="1.0" encoding="utf-8"?>  
2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
3. android:layout_width="match_parent"  
4. android:layout_height="match_parent"  
5. android:orientation="vertical" >  
6.   
7. <FrameLayout  
8. android:id="@+id/realtabcontent"  
9. android:layout_width="match_parent"  
10. android:layout_height="0dp"  
11. android:layout_weight="1" />  
12.   
13. <android.support.v4.app.FragmentTabHost  
14. android:id="@android:id/tabhost"  
15. android:layout_width="match_parent"  
16. android:layout_height="wrap_content" >  
17.   
18. <TabWidget  
19. android:id="@android:id/tabs"  
20. android:layout_width="match_parent"  
21. android:layout_height="wrap_content"  
22. android:layout_alignParentBottom="true" />  
23.   
24. <FrameLayout  
25. android:id="@android:id/tabcontent"  
26. android:layout_width="match_parent"  
27. android:layout_height="wrap_content" />  
28. </android.support.v4.app.FragmentTabHost>  
29.   
30. </LinearLayout>


Activity如下:

 

 


 

 

1. package com.yuzile.yuzile;  
2.   
3. import java.util.Map;  
4.   
5. import com.yuzile.yuzile.util.YuziLog;  
6.   
7. import android.graphics.drawable.Drawable;  
8. import android.os.Bundle;  
9. import android.support.v4.app.FragmentActivity;  
10. import android.support.v4.app.FragmentTabHost;  
11. import android.view.LayoutInflater;  
12. import android.view.View;  
13. import android.view.ViewGroup;  
14. import android.widget.ImageView;  
15. import android.widget.TextView;  
16. import android.widget.TabHost.TabSpec;  
17.   
18. public class MainActivity extends FragmentActivity {  
19.   
20. private FragmentTabHost mTabHost;  
21.   
22. private final static String[] tags = { "intro", "guide", "artworks",  
23. "discovery" };  
24. private final static Class[] tagClasses = { IntroFragment.class,  
25. class, ArtworksFragment.class,  
26. class };  
27. private final static String[] tagIndicators = { "简介", "导览", "作品", "发现" };  
28. private final static int[] tagImages = {  
29.             R.drawable.tab_bar_intro_bg_selector,  
30.             R.drawable.tab_bar_guide_bg_selector,  
31.             R.drawable.tab_bar_artworks_bg_selector,  
32.             R.drawable.tab_bar_discovery_bg_selector };  
33.   
34. @Override  
35. protected void onCreate(Bundle savedInstanceState) {  
36. super.onCreate(savedInstanceState);  
37.         setContentView(R.layout.main_activity);  
38.   
39.         mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);  
40.   
41.         initTabHost();  
42.     }  
43.   
44. private void initTabHost() {  
45. this, getSupportFragmentManager(), R.id.realtabcontent);  
46.         findViewById(android.R.id.tabs).setBackgroundResource(  
47.                 R.drawable.bottombarbg);  
48. for (int i = 0; i < tags.length; i++) {  
49.             TabSpec tabSpec = mTabHost.newTabSpec(tags[i]);  
50.             Drawable drawable = getResources().getDrawable(  
51.                     R.drawable.tab_bar_intro_bg_selector);  
52.             tabSpec.setIndicator(getIndicatorView(i));  
53. null);  
54.         }  
55.     }  
56.   
57. private View getIndicatorView(int i) {  
58.         LayoutInflater inflater = getLayoutInflater();  
59.         ViewGroup views = (ViewGroup) inflater.inflate(  
60. null);  
61.         ImageView imageView = (ImageView) views  
62.                 .findViewById(R.id.tab_widget_item_image);  
63.         TextView textView = (TextView) views  
64.                 .findViewById(R.id.tab_widget_item_text);  
65.         imageView.setBackgroundResource(tagImages[i]);  
66.         textView.setText(tagIndicators[i]);  
67. return views;  
68.     }  
69.   
70. }

刚开始一直进行得非常顺利,但是就在今天,我导入了一个Google Map的Library,地图都进行的很顺利,但是在编译的时候提示

 

Found2 versions of android-support-v4.jar in the dependency list,

就是有两个版本的android-support-v4.jar , 我一看是因为Google Map的Library也有一个,两个估计是不一样引起提示,强迫症患者就讨厌就是看到提示了,所以我想用其中一个替换另一个,但是以哪个为准呢?既然Google Map是官方的库,肯定没问题,所以用Google Map Library的android-support-v4.jar替换了我当前的项目的了.好了,麻烦就来了:启动App就会崩掉,并且报错:No tab content FrameLayout found for id xxxxxxx . 原来工作得挺好的,后来就崩了,所以我肯定代码是没问题的.

 

网上有答案说要自定义FragmentTabHost http://stackoverflow.com/questions/13408709/android-tabs-at-the-bottom-with-fragmenttabhost , 但是我并不像这么做,也没尝试,纠结很久之后,知道是android-support-v4.jar某些版本的Bug引起的,但是我不知道是什么版本,什么版本修好了,官方也没有说明,所以一个思路是找到正确的那个版本,在自己的开发环境新建了一个工程,按照原来的工程配置,但还是一样的错误,我也不知道为什么,也许来大姨妈了. 最后在网上找了一些实例代码下载,先正确运行了,然后偷里面的android-support-v4.jar 替换到项目中,果然可以了,罪魁祸首就是Google Map的android-support-v4.jar ,害得我浪费了一天啊.

 

后来又崩了,不断提示:

 Found 2 versions of android-support-v4.jar in the dependency list,

but not all the versions are identical (check is based on SHA-1 only at this time).

All versions of the libraries must be the same at this time.

就是这个错误导致了启动的时候找不到Activity,所以必须解决两个不同版本的android-support-v4.jar冲突的问题,解决方法当然是覆盖了...

 

参考网址:http://code.google.com/p/android/issues/detail?id=53230

标签:No,support,jar,xxxxxxx,v4,tab,import,android
From: https://blog.51cto.com/u_16120380/6317598

相关文章

  • Oracle migrate the users into another DB instance
    -----------------------------------------------###############OnSource###################---------------------------------------------createorreplaceprocedurepr_user_ddlascursorget_usernameisselectusernamefromdba_userswhereusernamelik......
  • synopsys dw_axi_dmac 使用集成经验
    #总体简介AHB/APB用于寄存器配置和访问,2个AXIMasterport用于实现数据src和dst的搬运,带perh请求握手接口,独立的debuginterface,中断接口#主要特性▲共32个channel,每个通道都对应一对src和dst▲每个channel都是单向的▲2个AXIMaster支持多层级连接访问▲mem2mem,mem2perh,pe......
  • k8s iptables链
    [root@k8s-masterdocker]#iptables-S-tnat-PPREROUTINGACCEPT-PINPUTACCEPT-POUTPUTACCEPT-PPOSTROUTINGACCEPT-NDOCKER-NKUBE-MARK-DROP-NKUBE-MARK-MASQ-NKUBE-NODEPORTS-NKUBE-POSTROUTING-NKUBE-SEP-2CJALHN5HAPMFVFM-NKUBE-SEP-3QOD56XR......
  • synopsys dw_axi_dmac 使用集成经验
    总体简介AHB/APB用于寄存器配置和访问,2个AXIMasterport用于实现数据src和dst的搬运,带perh请求握手接口,独立的debuginterface,中断接口主要特性▲共32个channel,每个通道都对应一对src和dst▲每个channel都是单向的▲2个AXIMaster支持多层级连接访问▲mem2mem,mem2perh,pe......
  • 算法学习记录:[NOIP2011]铺地毯
    题目链接:https://ac.nowcoder.com/acm/contest/20960/1016解题思路:最直观的方法,因为编号大的地毯一定更靠后,所以直接用编号进行标记。时间复杂度分析:该代码时间复杂度为\(O(N^2)\),有\((10^5)^2\),评测oj每1秒能接受的时间复杂度为:\([10^8,10^9]\)所以下代码一定TLE。TLE......
  • Mysql ALTER TABLE 加字段的时候到底锁不锁表?
    Mysql5.6版本之前更新步骤对原始表加写锁按照原始表和执行语句的定义,重新定义一个空的临时表。对临时表进行添加索引(如果有)。再将原始表中的数据逐条Copy到临时表中。当原始表中的所有记录都被Copy临时表后,将原始表进行删除。再将临时表命名为原始表表名。这样的话整个DDL......
  • 【BSP视频教程】BSP视频教程第26期:CAN/CANFD/CANopen专题,CANFD整个运行机制精讲,图文并
     上期视频教程为大家分享了很多CAN理论方面的知识,本期视频教程我们在实战应用中学习CANFD。CANFD涉及到的知识点非常多,我们本期重点是把CANFD整个运行机制搞明白,知其然知其所以然。视频:https://www.bilibili.com/video/BV1iX4y117Bv视频提纲:参考资料:1、【原创】H7-TOOL的CANFDT......
  • 【BSP视频教程】BSP视频教程第26期:CAN/CANFD/CANopen专题,CANFD整个运行机制精讲,图文并
     上期视频教程为大家分享了很多CAN理论方面的知识,本期视频教程我们在实战应用中学习CANFD。CANFD涉及到的知识点非常多,我们本期重点是把CANFD整个运行机制搞明白,知其然知其所以然。视频:https://www.bilibili.com/video/BV1iX4y117Bv视频提纲:参考资料:1、【原创】H7-TOOL的CANFDT......
  • Connections could not be acquired from the underlying database!
    报错内容:五月19,20239:02:42上午org.apache.catalina.core.StandardWrapperValveinvoke严重:在路径为的上下文中,Servlet[springmvc]的Servlet.service()引发了具有根本原因的异常Requestprocessingfailed;nestedexceptionisorg.springframework.transaction.CannotCreat......
  • m异构蜂窝网络的K-Tier下行链路的matlab性能仿真,对比网络Voronoi图,覆盖率等
    1.算法仿真效果matlab2022a仿真结果如下:       2.算法涉及理论知识概要       蜂窝网络正在从精心规划的一组大型塔式基站(BSs)对异构基础设施元素的非常规部署,通常还包括微、微微和以及分布式天线。在本文中,我们为下行链路开发易于处理、灵活和精确的......