Java 设置onTabChangedListner(Android)时出错
我正在尝试设置一个Java 设置onTabChangedListner(Android)时出错,java,android,tabs,toast,Java,Android,Tabs,Toast,我正在尝试设置一个onTabChangedListner(),我已经查看了Stack Overflow和其他一些站点,它们几乎都是一样的,所以我复制了这些代码。这是我当前的代码(这都在ononCreate()中) 我有3个错误: 未知实体OnTabChangeListner() 对于(com.mycompany.myapp.MainActivity.(匿名),java.lang.String,int),没有可应用的方法。 “android.widget.TabHost”中的方法android.w
onTabChangedListner()
,我已经查看了Stack Overflow和其他一些站点,它们几乎都是一样的,所以我复制了这些代码。这是我当前的代码(这都在ononCreate()
中)
我有3个错误:
OnTabChangeListner()
(com.mycompany.myapp.MainActivity.(匿名),java.lang.String,int),没有可应用的方法。
android.widget.TabHost.setOnTabChangedListner(android.widget.TabHost.OnTabChangeListner)不能应用于(com.mycompany.myapp.MainActivity.(匿名))
您发布的代码部分看起来很干净,我从您发布的错误消息中找不到任何内容。可能您的项目中的多行代码对查找问题有点帮助
请看下面的代码,检查您是否遵循任何模式
TabHost tabs = (TabHost) body_view.findViewById(R.id.media_tabs);
tabs.setup();
tabs.addTab(tabs.newTabSpec(ALBUMS_TAB));
tabs.addTab(tabs.newTabSpec(ARTISTS_TAB));
tabs.setOnTabChangedListener(new OnTabChangeListener() {
@Override
public void onTabChanged(String tabId) {
if (tabId.equals(ARTISTS_TAB)) {
artistsFlipper.setDisplayedChild(0);
} else if (tabId.equals(ALBUMS_TAB)) {
albumsFlipper.setDisplayedChild(0);
}
}
});
或
上述解决方案来自请查看下面的链接,示例代码或实现非常清楚。您是否有“implements OnTabChangeListener”子句。我猜代码中的所有内容在通常语法方面几乎都是相同的。我现在已经实现了OnTabChangeListner,它给我一个错误,说OnTabChangeListner是未知实体。实际上TabActivity类已被弃用,我使用下面的链接快速实现了它。我在代码和Iäm能够在emulator中启动应用程序。此外,此链接将非常有用,
TabHost tabHost = getTabHost();
TabSpec cat1spec = tabHost.newTabSpec("Category 1");
cat1spec.setIndicator("Category 1");
cat1spec.setContent(R.id.tab1c);
TabSpec cat2spec = tabHost.newTabSpec("Category 2");
cat2spec.setIndicator("Category 2");
cat2spec.setContent(R.id.tab2c);
TabSpec cat3spec = tabHost.newTabSpec("Favourites");
cat3spec.setIndicator("Favourites");
cat3spec.setContent(R.id.tab3c);
tabHost.addTab(cat1spec);
tabHost.addTab(cat2spec);
tabHost.addTab(cat3spec);
getActionBar().setHomeButtonEnabled(true);
tabHost.setOnTabChangedListener(this);
}
@Override
public void onTabChanged(String tabId) {
//Something will happends here
}
TabHost tabs = (TabHost) body_view.findViewById(R.id.media_tabs);
tabs.setup();
tabs.addTab(tabs.newTabSpec(ALBUMS_TAB));
tabs.addTab(tabs.newTabSpec(ARTISTS_TAB));
tabs.setOnTabChangedListener(new OnTabChangeListener() {
@Override
public void onTabChanged(String tabId) {
if (tabId.equals(ARTISTS_TAB)) {
artistsFlipper.setDisplayedChild(0);
} else if (tabId.equals(ALBUMS_TAB)) {
albumsFlipper.setDisplayedChild(0);
}
}
});
public class MyTabActivity extends TabActivity implements OnTabChangeListener {
private TabHost tabHost;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/* Your onCreate code here */
tabHost.setOnTabChangedListener(this);
}
/* ... */
@Override
public void onTabChanged(String tabId) {
/* Your code to handle tab changes */
}
}