程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> tabhost-點擊 tab 時調用 activity 的問題

tabhost-點擊 tab 時調用 activity 的問題

編輯:編程綜合問答
點擊 tab 時調用 activity 的問題

用什麼方法可以在 tabs 上添加 setOnLongClickListener?或者點擊一個 tab 時,可以調用一個 activity。長時間點擊相同的 tab 時,調用一個不同的 activity?

public class HelloTabWidget extends TabActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Resources res = getResources(); 
        TabHost tabHost = getTabHost(); 
        TabHost.TabSpec spec;
        Intent intent;  

        // Create an Intent to launch an Activity for the tab (to be reused)
        intent = new Intent().setClass(this, ArtistsActivity.class);

        // Initialize a TabSpec for each tab and add it to the TabHost
        spec = tabHost.newTabSpec("artists").setIndicator("Artists",
                          res.getDrawable(R.drawable.ic_tab_artists))
                      .setContent(intent);


        tabHost.addTab(spec);
        tabHost.setOnLongClickListener(new OnLongClickListener(){

            @Override
            public boolean onLongClick(View v) {
                // TODO Auto-generated method stub
////                Intent i=new Intent(getApplicationContext(),LongClickStuff.class);
//              startActivity(i);
//              return true;
                Toast.makeText(getApplicationContext(), "into long click", Toast.LENGTH_LONG).show();
                return false;
            }

        });


        // Do the same for the other tabs
        intent = new Intent().setClass(this, AlbumsActivity.class);
        spec = tabHost.newTabSpec("albums").setIndicator("Albums",
                          res.getDrawable(R.drawable.ic_tab_albums))
                      .setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, SongsActivity.class);
        spec = tabHost.newTabSpec("songs").setIndicator("Songs",
                          res.getDrawable(R.drawable.ic_tab_songs))
                      .setContent(intent);
        tabHost.addTab(spec);

        tabHost.setCurrentTab(2);
    }
}

最佳回答:


 TabHost tabHost = getTabHost(); 
 tabHost.setOnLongClickListener(new OnLongClickListener(){}

看上面這兩行,說明你的長按事件監聽器是給TabHost對象綁定的,你改為為每個 TabHost.TabSpec (單個選項卡)綁定setOnLongClickListener(),或者為代表單個選項卡的View綁定長按事件監聽器,你試試看。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved