标签: android-tabhost

Android中类似iPhone的标签栏?

在iPhone中,我们可以创建一个具有标签栏的视图,并使其成为应用程序的根视图,然后使用标签栏浏览子视图.

Android中最接近这个的方法是什么?

是否使用选项卡式控件?但这包括只使用一项活动.

在Android中使用的方法是什么方法以类似于iPhone的方式创建一个带有导航控件的活动到其他活动?

android android-tabhost

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

返回时的Android刷新活动

我需要一些帮助来刷新我的应用程序中的一个活动.我正在使用标签主机活动并连接到Web服务并从我的一个子活动中下载一些数据.当我在我的子活动中按下同步按钮时,我正在开始一个不在标签主机中的新活动,当同步完成后,它将返回到它的父项(子活动).我想要实现的是当我返回它时刷新活动.当我通过互联网查看时,我发现最好的选择就是使用startActivityForResult,但我真的不明白如何使用它,以及当我从完成的活动中收到结果时如何刷新活动.

如果有人能帮助我,我会很高兴.谢谢!

编辑:

我正在使用此代码,它甚至没有显示登录 onActivityResult

MyCollectionId.class:

Intent intent = new Intent(MyCollectionId.this, Synchronization.class);
intent.putExtra("process", 2);
startActivityForResult(intent, 1);

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 super.onActivityResult(requestCode, resultCode, data);
 if(resultCode==RESULT_OK){
     Log.e("","OnActivityResult");
    Intent refresh = new Intent(this, MyCollectionId.class);
    startActivity(refresh);
    this.finish();
 }
}
Run Code Online (Sandbox Code Playgroud)

Synchronization.class:

Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
setResult(RESULT_OK,intent);
finish();
Run Code Online (Sandbox Code Playgroud)

android refresh android-tabhost android-activity

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

Android tabhost更改文本颜色样式

试图更改tabhost文本颜色,在此代码中我可以更改tabhost背景颜色(不是文本颜色)

tabHost.setOnTabChangedListener(new OnTabChangeListener() {
        @Override
        public void onTabChanged(String tabId) {
          for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {
            tabHost.getTabWidget().getChildAt(i)
                            .setBackgroundColor(Color.parseColor("#FF0000")); // unselected
          }

          tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab())
                        .setBackgroundColor(Color.parseColor("#0000FF")); // selected

        }
});
Run Code Online (Sandbox Code Playgroud)

如何更改tabhost文本颜色?

android android-tabhost

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

在Android中动态修改选项卡指示器

我的应用程序需要动态更新选项卡指示器,我试图通过调用TabSpec.setIndicator()来执行此操作,但它不起作用.这是我的代码:

在tabActivity的onCreate方法中:

tabHost = getTabHost(); 
TabSpec tabSpec = tabHost.newTabSpec("abc");
tabSpec.setIndicator("helloabc");
tabSpec.setContent(new MyViewFactory());
tabHost.addTab(tabSpec);
Run Code Online (Sandbox Code Playgroud)

现在我需要将tab指示符更改为另一个字符串,例如"xyz"

TabSpec tabSpec = MyTabActivity.getTabSpec();
tabSpec.setIndicator("xyz");
Run Code Online (Sandbox Code Playgroud)

但它不起作用.所以我想知道在将tab指针添加到tabhost之后如何更改它?非常感谢.

感谢@CommonsWare,我使用TabWidget.getChildAt制作它,这是我方便的代码:

TextView title = (TextView) tabHost.getTabWidget().getChildAt(tabId).findViewById(android.R.id.title)
title.setText("xyz");
Run Code Online (Sandbox Code Playgroud)

android android-tabhost

13
推荐指数
2
解决办法
9660
查看次数

EditText和TabHost彼此不喜欢

我有一个EditText和TabHost包含2个选项卡的布局.Android 1.6.

我在下面的例子中使用硬件键盘.重现步骤:

  1. 显示活动时,EditText将获得焦点.

  2. 只要按任意键,EditText就会失去焦点,第一个标签会获得它.

  3. 我再次点击EditText并开始输入.

  4. 除非我按下任何数字按钮,否则它有效.第一个标签再次获得焦点.

  5. 我用轨迹球滚动回EditText.我现在可以打字了.

在步骤2,3中在焦点EditText上左/右使用跟踪球也会使EditText失去焦点.

这很奇怪.怎么处理这个?

main.xml布局:

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

    <EditText android:id="@+id/textfield" android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:maxLines="1"
        android:lines="1" android:hint="Search" />

    <TabHost android:id="@android:id/tabhost" android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:layout_weight="1">

        <LinearLayout android:orientation="vertical"
            android:layout_width="fill_parent" android:layout_height="fill_parent">


            <FrameLayout android:id="@android:id/tabcontent"
                android:layout_width="fill_parent" android:layout_height="wrap_content"
                android:layout_weight="1">

                <LinearLayout android:id="@+id/tab1"
                    android:layout_width="fill_parent" android:layout_height="wrap_content" />

                <LinearLayout android:id="@+id/tab2"
                    android:layout_width="fill_parent" android:layout_height="wrap_content" />

            </FrameLayout>

            <TabWidget android:id="@android:id/tabs"
                android:orientation="vertical" android:layout_width="fill_parent"
                android:layout_height="wrap_content" android:gravity="bottom" />

        </LinearLayout>

    </TabHost>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

活动类:

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    TabHost tabs = (TabHost) this.findViewById(android.R.id.tabhost);
    tabs.setup();

    Button vBtn;

    TabSpec …
Run Code Online (Sandbox Code Playgroud)

android android-tabhost android-edittext

13
推荐指数
2
解决办法
4993
查看次数

InputMethodManager保存对tabhost的引用 - Memory Leak - OOM Error

视图层次结构如下TabActivity- > ActivityGroups- > Activities.

使用MAT我发现TabWidget被引用的TabHost引用InputMethodManager,因此TabWidget被泄露.在后续启动应用程序时抛出OutOfMemory错误.

同样,我的所有活动也被引用InputMethodManager.(关闭应用程序后,我的所有活动组,活动,tabactivity,tabhost和tabwidget都被泄露!!)

在正确完成应用程序(按回键)后,将在logcat中显示以下内容

WARN/InputManagerService(99):在非聚焦客户端上启动输入com.android.internal.view.IInputMethodClient$Stub$Proxy@44a87748(uid = 10052 pid = 1463)

如何从InputMethodManager...中删除引用?

我尝试过:

A.称onDestroy我的这种方法TabActivity
1. myTabWidget.removeAllViews()
2.myTabWidger.invalidate()

没运气!


memory android memory-leaks android-tabhost

13
推荐指数
1
解决办法
5775
查看次数

Android中的垂直标签

我想在Android中制作垂直标签,如下图所示. 在此输入图像描述

我从下面的链接看到了垂直标签的示例.

点击这里

在这个链接中,答案有一些注释,在评论中他们有共享代码,但链接mega-upload已过期.

我尝试了很多方法但不能垂直显示标签.当我按照链接尝试时,无法显示标签.请帮我

android android-tabhost

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

Android TabHost上的徽章

我想实现与iPhone中相同的功能

在此输入图像描述

我在底部栏中实现了与iPhone相同的自定义Tabhost.我可以为Normal/Selected状态设置两个Icons,但是我需要动态图标,其中包含Image中给出的通知数量.

谢谢

android android-custom-view android-tabhost android-tabactivity

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

嵌入式选项卡与viewpager在Android中刷?

我已经使用视图寻呼机实现了嵌套标签没有问题,但我的问题是在刷卡部分,

当我执行滑动操作时,主活动选项卡将被切换,但我希望片段可以滑动.我该怎么做到这一点?

我已经尝试使用tab主机和片段tabhost实现主选项卡,它根本没有滑动功能,但是在主和片段上禁用了整个滑动. 描述

tabs android android-tabhost android-fragments android-viewpager

13
推荐指数
1
解决办法
1429
查看次数

Android TabHost.addTab - >空指针异常

这是我的代码:

    public class Main extends Activity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            TabHost tabHost = new TabHost(this);

            TabHost.TabSpec tab = tabHost.newTabSpec("tab1");
            tab.setIndicator("Tab 1");
            tab.setContent(new TabHost.TabContentFactory() {
                @Override
                public View createTabContent(String tag) {
                    TextView tv = new TextView(Main.this);
                    tv.setText("tab 1 content");
                    return tv;
                }
            });

            tabHost.addTab(tab);

            setContentView(tabHost);
        }
    }
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

    [...]
    07-13 20:26:49.261: ERROR/AndroidRuntime(625): Caused by: java.lang.NullPointerException
    07-13 20:26:49.261: ERROR/AndroidRuntime(625):     at android.widget.TabHost.addTab(TabHost.java:206)
    07-13 20:26:49.261: ERROR/AndroidRuntime(625):     at test.test.Main.onCreate(Main.java:27)
    [...]
Run Code Online (Sandbox Code Playgroud)

我需要通过代码执行此操作,我不能使用XML.任何人都可以帮我解决这个问题吗?

android nullpointerexception android-tabhost

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