【问题标题】:Issue With tab-host android?标签主机android的问题?
【发布时间】:2012-02-17 15:23:09
【问题描述】:

伙计们,我在 Tab-host 上遇到了不同的问题,我会用步骤清楚地解释。

1.我正在显示带有 6 个选项卡的选项卡主机。

2.单击第六个选项卡时,我正在显示由按钮组成的弹出窗口。直到这里一切正常。

3.在弹出窗口中单击按钮时。我需要显示另一个活动,但标签主机应该在每个屏幕的底部?

为了显示选项卡主机和弹出窗口,我使用以下代码。

private void setuptabs() {

    // Adding the tabs to TabHost.
    addTab("Balances", R.drawable.tab_search, BalancesActivity.class);
    addTab("Orders", R.drawable.tab_search, OrdersActivity.class);
    addTab("positions", R.drawable.tab_search, PositionsActivity.class);
    addTab("Trade", R.drawable.tab_search, TradeActivity.class);
    addTab("WatchList", R.drawable.tab_search, WatchlistActivity.class);
    addTab("Chains", R.drawable.tab_search, ChainsActivity.class);
    addTab("More", R.drawable.tab_search, MoreActivity.class);



    tabHost.getTabWidget().getChildAt(6).setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            QuickActionView qa = QuickActionView.Builder(v);

            // set the adapter
            qa.setAdapter(new CustomAdapter(getApplicationContext()));

            // set the number of columns ( setting -1 for auto )
            qa.setNumColumns(1);
            qa.setOnClickListener(new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                    Toast.makeText(getBaseContext(), "Selected item: " + which,Toast.LENGTH_SHORT).show();
                    switch (which) {
                    case 0:

                        break;
                    case 1:
                        break;

                    default:
                        break;
                    }
                }
            });

            // finally show the view
            qa.show();
            return false;
        }
    });
}



private void addTab(String labelId, int drawableId, Class<?> c) {

    tabHost = getTabHost();
    intent = new Intent(this, c);
    spec = tabHost.newTabSpec("tab" + labelId);

    View tabIndicator = LayoutInflater.from(this).inflate(R.layout.tab_indicator, getTabWidget(), false);
    // txtTitle will set the title in TabHost.
    txtTitle = (TextView) tabIndicator.findViewById(R.id.txtTitles);
    txtTitle.setText(labelId);
    // imgTab will set the image in TabHost.
    imgTab = (ImageView) tabIndicator.findViewById(R.id.imgTab);
    imgTab.setImageResource(drawableId);

    spec.setIndicator(tabIndicator);
    spec.setContent(intent);
    tabHost.addTab(spec);

    //      tabHost.getTabWidget().getChildAt(7).setVisibility(View.GONE);

    System.out.println("Checking tabhost value::>"+tabHost.getChildCount());


}

请问各位,我怎么能做到这一点......

【问题讨论】:

  • 您的问题到底是什么?问题是“标签主机应该在每个屏幕的底部”?
  • 是的 tabhost 应该在每个屏幕的底部..

标签: android android-tabhost


【解决方案1】:

这就像您从标签点击中调用第一个活动。第一个活动有弹出窗口。现在单击弹出窗口的按钮,您正在调用第二个活动? 是否正确,那么您必须在该特定选项卡中进行所有活动。为此,请点击此链接:THIS LINK

【讨论】:

  • sry 这是我在我的代码中所做的......我的要求不是这个,点击tabwidget我会显示弹出窗口,其中包含按钮。当我点击按钮时,我需要去新活动,但 tabhost 应该保持不变......
  • sry ....我会更清楚地解释你,认为第一个活动是 tabhost。它由 6 个选项卡组成,当我单击第六个选项卡时,我将显示弹出窗口。它由按钮组成,当我单击弹出窗口中的第一个按钮时,应该启动新活动..tabhost 应该保持不变。单击第六个按钮时,我正在使用以下代码..
  • 你能检查下面的代码吗..QuickActionView qa = QuickActionView.Builder(v);在我的问题中请..
【解决方案2】:

对于我的应用程序,我已经遇到了这个问题。在我的应用程序中,我的 listview 包含一些项目。当我按下任何一个项目时,将显示另一个布局的详细视图。而且,我已经使用此代码来做到这一点 -

ListView list = (ListView)findViewById(R.id.listview12);
        list.setAdapter(adapter);

        list.setOnItemClickListener(new OnItemClickListener()
        {
            @SuppressWarnings("unchecked")
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
            {
                HashMap<String, String> hashMap = new HashMap<String, String>();
                hashMap = (HashMap<String, String>) parent.getItemAtPosition(position);
                String newsid = hashMap.get("id");
                int integerid = Integer.parseInt(newsid);
                description(integerid);

                //Get the new Activity to tab.
                Intent previewMessage = new Intent(getParent(), detailedview.class);
                TabGroupActivity parentActivity = (TabGroupActivity)getParent();
                parentActivity.startChildActivity("detailedview", previewMessage);
            }
        });

我只是按照这些代码完成了这个Multiple Android Activities in a TabActivity 的问题。它提供了Parent & Child 方法。它对我非常有用。而且,它对你也很有用。试试看吧……!希望这对你有帮助.. :-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    • 2017-06-14
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多