Android 长按标签
有没有办法在选项卡中添加setOnLongClickListener??或者有没有其他方法可以在单击某个选项卡时调用一个活动,在长时间单击同一选项卡时调用另一个活动Android 长按标签,android,android-tabhost,Android,Android Tabhost,有没有办法在选项卡中添加setOnLongClickListener??或者有没有其他方法可以在单击某个选项卡时调用一个活动,在长时间单击同一选项卡时调用另一个活动 public class HelloTabWidget extends TabActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceStat
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);
}
}
已测试并验证,其中“0”是要长时间单击的选项卡的索引:
tabHost.getTabWidget().getChildAt(0).setOnLongClickListener(new OnLongClickListener() {
public boolean onLongClick(View v) {
Toast.makeText(getApplicationContext(), "long click", 1).show();
return true;
}
});
好吧,地狱钟声。我只是运行了代码。它可以工作,但只需长时间单击选项卡视图,而不是选项卡本身。很有趣…非常感谢。我是否无法使选项卡可单击而视图不可单击?视图仍然可以长时间单击?视图可以长时间单击,但问题是当我将手指从其上移开时,长时间单击的活动开始,当该活动退出时,tab检测到由于上一次长时间单击而导致的正常单击,然后启动正常单击时应该执行的活动。我将再看一次。可能需要几天时间。。。移动