标签: android-tabhost

为什么TabHost中没有显示父Activity的菜单?

我有活动A和TabHost.我的TabHost有2个标签.第一个选项卡包含活动B,第二个选项卡包含活动C.

在此输入图像描述

活动A有一个菜单.活动B和C没有任何菜单.当我点击Activity AI时可以打开它的菜单但是当我点击其中一个标签时,A的菜单没有显示.这意味着活动B或C被激活,我无法访问A的菜单.

如何拥有此TabHost,如何才能访问A的菜单或其他资源?

android menu android-tabhost android-activity

3
推荐指数
1
解决办法
1010
查看次数

使用FragmentPagerAdapter以编程方式从Fragment更改选项卡

我正在尝试让我的应用从标签1更改为标签3.标签位于自定义TabsPagerAdapterextends FragmentPagerAdapter.

我试图更改标签喜欢这个,但它导致NullPointerException.机制是不同的FragmentPagerAdapter

TabHost host = (TabHost) getActivity().findViewById(android.R.id.tabhost);
host.setCurrentTab(2);
Run Code Online (Sandbox Code Playgroud)

java android android-tabhost android-fragments fragmentpageradapter

3
推荐指数
1
解决办法
2468
查看次数

从TabActivity或TabHost获取特定活动

如何从TabActivity或TabHost获取特定的活动?

我试过TabHost.getChildAt(),但View实例无法转换为Activity实例.

或者你如何得到一个在后台运行的Activity?

android android-tabhost android-activity

2
推荐指数
1
解决办法
4578
查看次数

Android onActivityResult从不打电话

永远不会调用我的onActivityResult方法.我正在使用android 2.2

我正在使用Tabhost,其中TabHosts包含包含单个活动的TabGroup.

我的一项个人活动运行以下意图

 Intent intent = new Intent(); 
 intent.setType("image/*");
 intent.setAction(Intent.ACTION_GET_CONTENT);
 startActivityForResult(Intent.createChooser(intent,
                    "Select Picture"), 0);
Run Code Online (Sandbox Code Playgroud)

这加载我的画廊应用程序,我使用默认的Android库选择一个图像,当我返回我的onActivityResult时,不称为我的活动.

它看起来像这样 - 我给了一个断点if(resultCode == 0),所以现在,我的onActivityResult的逻辑应该不重要

 public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == 0) {
        if (requestCode == 0) {
            Uri selectedImageUri = data.getData();

            //OI FILE Manager
            filemanagerstring = selectedImageUri.getPath();

            //MEDIA GALLERY
            selectedImagePath = getPath(selectedImageUri);

            //DEBUG PURPOSE - you can delete this if you want
            if(selectedImagePath!=null)
                System.out.println(selectedImagePath);
            else System.out.println("selectedImagePath is null");
            if(filemanagerstring!=null)
                System.out.println(filemanagerstring);
            else System.out.println("filemanagerstring is null");

            //NOW …
Run Code Online (Sandbox Code Playgroud)

lifecycle android gallery android-intent android-tabhost

2
推荐指数
2
解决办法
3万
查看次数

锁定标签更改 - TabHost

我使用以下方法检查是否单击了选项卡:

tabHost.setOnTabChangedListener(new OnTabChangeListener() {

            public void onTabChanged(String tabId) {
                int i = tabHost.getCurrentTab();

                if (i == 2) {
                    Log.i("Tab Number", "=" + i);
                    testFields(); // Verifies that the data fields were filled.
                }
            }
        });
Run Code Online (Sandbox Code Playgroud)

当我检查字段是否正确时,我有一个测试"if or else".

如果一切都完成了,好的!

如果没有,则无法关注下一个标签.必须保持标签"数据"才能完成填充.

如何阻止标签中的更改?一切都正确吗?

编辑以显示测试帮助

final TabHost tabHost = (TabHost) getParent().findViewById(
                android.R.id.tabhost);
        // ONCLICK TABHOST
        for (int i = 0; i < tabHost.getTabWidget().getTabCount(); i++) {
            tabHost.getChildAt(i).setOnTouchListener(new OnTouchListener() {

                public boolean onTouch(View v, MotionEvent event) {
                    int action = event.getAction();

                    if (action == MotionEvent.ACTION_UP) …
Run Code Online (Sandbox Code Playgroud)

testing android tabcontrol onclick android-tabhost

2
推荐指数
1
解决办法
3121
查看次数

不会从TabHost中调用Android Activity.onWindowFocusChanged

我正在努力解决在我的自定义Activity类中没有调用.onWindowFocusChanged()的问题.我的设置:

TabHost中的两个选项卡(包含Activity_1和Activity_2),默认情况下选择第二个选项卡:

tabHost.setCurrentTab(currentTabIndex);
Run Code Online (Sandbox Code Playgroud)

在这两个活动中,我添加了onWindowFocusChanged()覆盖(因为我需要在布局完成绘图后预先形成计算):

@Override
public void onWindowFocusChanged(boolean hasFocus)
{
    super.onWindowFocusChanged(hasFocus);
}
Run Code Online (Sandbox Code Playgroud)

问题:默认情况下选择第二个选项卡,然后单击第一个选项卡,onWindowFocusChanged()永远不会在Activity_1中调用(与第一个选项卡关联).两个活动都扩展了普通的Activity类.

如何解决这个问题的任何线索将不胜感激!

android overriding android-tabhost android-activity

2
推荐指数
1
解决办法
4326
查看次数

文本颜色不会更改TabWidget

我正在尝试更改TabWidget文本颜色,但没有成功,即使我尝试了不同的方式来更改它(请参阅下面的代码.)

我的背景标签是一张图片:

for (int i = 0; i < tabHost.getTabWidget().getTabCount(); i++) {
    tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.TRANSPARENT); 
}
Run Code Online (Sandbox Code Playgroud)

我不知道这是否与我现在想做的事情产生某种冲突.

解决方法1:

main.xml中

....
    <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/tabbarbackground"
        android:tabStripEnabled="false"            
        style="@style/TabText"
        /> ....
Run Code Online (Sandbox Code Playgroud)

style.xml

... <style name="TabText">
    <item name="android:textColor">@color/tab_text_color</item> </style> ....
Run Code Online (Sandbox Code Playgroud)

tab_text_color.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:textColor="#2daed9" />
    <item android:state_selected="false" android:color="#FFFFFF" />
</selector>
Run Code Online (Sandbox Code Playgroud)

解决方案2

for (int i = 0; i < tabHost.getTabWidget().getTabCount(); i++) {
    tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.TRANSPARENT);         
    RelativeLayout rl = (RelativeLayout) tabHost.getTabWidget().getChildAt(i);
    TextView textView = (TextView) rl.getChildAt(1);
    textView.setTextColor(R.color.tab_text_color);
}
Run Code Online (Sandbox Code Playgroud)

tab_text_color.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:textColor="#2daed9" /> …
Run Code Online (Sandbox Code Playgroud)

android textview android-tabhost android-textattributes

2
推荐指数
1
解决办法
7635
查看次数

tabhost的好例子

我在哪里可以找到TabHost的好例子?我发现了很多例子但是所有这些例子都被弃用或者不起作用.

android android-tabhost

2
推荐指数
1
解决办法
8409
查看次数

TabWidget将不会显示,即使它显示在ADT编辑器中

即使它出现在Eclipse图形编辑器中,我的TabWidget也不会显示.我找不到任何理由.为什么我的标签栏没有显示?

日食

Imgur

模拟器

Imgur

活动的XML源:http://pastebin.com/Au9XFXPa

从活动中提取:

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
        </TabWidget>
Run Code Online (Sandbox Code Playgroud)

Android lint的结果:

$ lint.bat res/layout/activity_calculator.xml
Scanning Catalyst: .
No issues found.
Run Code Online (Sandbox Code Playgroud)

layout android android-layout android-tabhost

2
推荐指数
1
解决办法
6067
查看次数

在片段tabhost中的选项卡之间切换

  1. 我有一个FragmentTabHost,托管在Fragment中.tabHost有4个标签.
  2. 在第一个选项卡片段中,有两个嵌套片段.
  3. 单击第一个嵌套片段中的视图后,会出现一个DialogFragment,它有几个按钮.

单击DialogFragment中的按钮后,我想切换到标签号3.我该怎么办?

android android-tabhost android-fragments

2
推荐指数
1
解决办法
5711
查看次数