1

私の英語でごめんなさい。学ぶべきことがたくさんあります。

アプリに TabActivity があります。ボタンの 1 つをクリックすると、コンテキスト メニューが表示されるようにしたいと思います。

タブの 1 つをクリックしてメソッドを呼び出すことができました。しかし、同時にタブの呼び出しとアクティビティ。これは、印象の良くない現在のものを締めくくるものです。

例:

タブホストへのタブの追加

    intent = new Intent().setClass(this, NewsActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    spec = tabHost.newTabSpec(TAB_NEWS).setIndicator(getString(R.string.tab_news), res.getDrawable(R.drawable.ic_tab_news)).setContent(intent);
    tabHost.addTab(spec);

私が合格せず、意図がエラーを与える場合。

    intent = new Intent().setClass(this, NewsActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    spec = tabHost.newTabSpec(TAB_NEWS).setIndicator(getString(R.string.tab_news), res.getDrawable(R.drawable.ic_tab_news)).setContent(intent);
    tabHost.addTab(spec);

メソッドを呼び出すには、タブで次のリスナーを使用します

tabHost.getChildAt(1).setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {

            //Somethig to do
            e
            return false;
        }
    });

どうもありがとうございました。

4

1 に答える 1

1

タブの OnTouchListener で、最初にタッチ イベントが単なるタッチではなくクリックであるかどうかを確認します。クリックしたときにタブを変更したくない場合は、onTouch で true を返します。例:

tabHost.getChildAt(1).setOnTouchListener(new OnTouchListener() {

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

            if(action == MotionEvent.ACTION_UP)
            {
                //Something to do

                return true; // do this if you dont want the tab to change
            }
            return false;
        }
    });
于 2012-04-18T07:49:35.947 に答える