Java 检测taBHost中已选定选项卡上的OnClick事件,以执行类似触发器性质的操作

Java 检测taBHost中已选定选项卡上的OnClick事件,以执行类似触发器性质的操作,java,android,Java,Android,下面我有三个选项卡,每个选项卡将带您参加一项活动 点击评级->主要活动类 点击Price->PriceDescriptionActivity.class 单击距离距离->距离描述活动。类 我怎样才能做到:: 点击评级->主要活动类 第二次点击评级-->PriceDescriptionActivity.class 第三次点击评级——>MainActivity.class AndroidTabRestaurantDescListView.java public class Android

下面我有三个选项卡,每个选项卡将带您参加一项活动

  • 点击
    评级
    ->
    主要活动类
  • 点击
    Price
    ->
    PriceDescriptionActivity.class
  • 单击距离
    距离
    ->
    距离描述活动。类

我怎样才能做到::

  • 点击
    评级
    ->
    主要活动类

  • 第二次点击
    评级-->
    PriceDescriptionActivity.class

  • 第三次点击
    评级
    ——>
    MainActivity.class

AndroidTabRestaurantDescListView.java

public class AndroidTabRestaurantDescListView extends TabActivity {

    // TabSpec Names
    private static final String INBOX_SPEC = "Rating";
    private static final String OUTBOX_SPEC = "Price";
    private static final String PROFILE_SPEC = "Distance";

    Button Photos;
    Button Filter;
    Button Search;

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

        Photos=(Button) findViewById(R.id.PhotoButton); 
        Filter=(Button) findViewById(R.id.FilterButton);
        Search=(Button) findViewById(R.id.SearchBottomBarID);

        TabHost tabHost = getTabHost();

        // Inbox Tab
        TabSpec inboxSpec = tabHost.newTabSpec(INBOX_SPEC);
        Intent inboxIntent = new Intent(this, MainActivity.class);
        inboxSpec.setIndicator(INBOX_SPEC);
        // Tab Content
        inboxSpec.setContent(inboxIntent);

        // Outbox Tab
        TabSpec PriceSpec = tabHost.newTabSpec(OUTBOX_SPEC);
        Intent PriceIntent = new Intent(this, PriceDescriptionActivity.class);
        PriceSpec .setIndicator(OUTBOX_SPEC);
        PriceSpec.setContent(PriceIntent);

        // Profile Tab
        TabSpec DistanceSpec = tabHost.newTabSpec(PROFILE_SPEC);
        Intent DistanceIntent = new Intent(this, DistanceDiscriptionActivity.class);
        DistanceSpec .setIndicator(PROFILE_SPEC); 
        DistanceSpec.setContent(DistanceIntent);

        // Adding all TabSpec to TabHost
        tabHost.addTab(inboxSpec); 
        tabHost.addTab(PriceSpec); 
        tabHost.addTab(DistanceSpec); 

        //Set the current value tab to default first tab
        tabHost.setCurrentTab(0);




    }

}

说我不想使用片段或自定义按钮。。。。我如何在这里实现这一点

可能吗


如果可能------我需要做哪些更改?

您可以使用此代码检测是否第二次选择了相同的选项卡:

// Add this to the class
private static int count=0;

// Adding listener for Getting Same Tab selected
    int numberOfTabs = mTabHost.getTabWidget().getChildCount();
    for (int i = 0; i < numberOfTabs; i++) {
        mTabHost.getTabWidget().getChildAt(i).setTag(i + "");
        mTabHost.getTabWidget().getChildAt(i).setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (MotionEvent.ACTION_DOWN == event.getAction()) {
                int previousTab = mTabHost.getCurrentTab();
                int currentTab = Integer.parseInt((String) v.getTag());
                    if (previousTab == currentTab) {
                        if (currentTab == 0) {
                            count++;
                            if(count == 1)
                                mTabHost.setCurrentTab(1);
                            else {
                                mTabHost.setCurrentTab(0);
                                count = 0;
                            }
                        }
                        return true;
                    } else
                        count =0;
                        return true;
                    }
                }
                return false;
            }
        });
    }
//将其添加到类中
私有静态整数计数=0;
//添加侦听器以选择相同的选项卡
int numberOfTabs=mTabHost.getTabWidget().getChildCount();
对于(int i=0;i
您需要使用计数器来计算选择选项卡的次数。然后执行相应的操作。我已经为第一个选项卡添加了解决方案,其余的您可以根据需要执行[+1用于编辑]。。。。还有一个问题::它在选项卡之间导航对吗。。。。。就像第一个和第二个。。。。我希望在各种活动之间导航。。。。MainActivity.class&。。。PriceDescriptionActivity.class…使用onetab本身。。。你能分析我的问题吗……是的,我明白你想在这里做什么。但是标准应该是只在选择选项卡时切换到特定选项卡&而不是在选择同一选项卡时从一个选项卡导航到另一个选项卡。我认为最新的代码将帮助您动态切换选项卡