0

下面我有三个标签,每个标签都会带你去一个活动

  • 点击 Rating- - - >MainActivity.class
  • 点击 Price- - - >PriceDescriptionActivity.class
  • 点击 Distance- - - >DistanceDiscriptionActivity.class

我怎样才能做到这一点::

  • 点击 Rating- - - >MainActivity.class

  • 第二次点击 Rating--->PriceDescriptionActivity.class

  • 第三次点击 Rating--->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);




    }

}

说我不想使用片段或自定义按钮....我怎样才能在这里实现

可能吗

如果可能的话-----我应该做些什么改变?

4

1 回答 1

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;
            }
        });
    }
于 2013-10-15T09:13:05.080 回答