作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在制作一个带有实现 com.roughike:bottom-bar:2.3.1
的 bottom_bar,我想在 bottombar 项目上调用 setOnTabSelectListener
,但我不能从 xml 文件中找不到带有 R.id 的底部栏项目。我的问题是什么?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/bottom_bar"
>
</FrameLayout>
<com.roughike.bottombar.BottomBar
android:id="@+id/bottom_bar"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_50dp"
android:layout_alignParentBottom="true"
app:bb_tabXmlResource="@xml/tab"
>
</com.roughike.bottombar.BottomBar>
</RelativeLayout>
enter code here
<?xml version="1.0" encoding="utf-8"?>
<tabs>
<tab
id="@+id/home_tab"
icon="@drawable/home_btn"
/>
<tab
id="@+id/search_tab"
icon="@drawable/search_btn"
/>
<tab
id="@+id/new_post_tab"
icon="@drawable/new_post_btn"
/>
<tab
id="@+id/profile_tab"
icon="@drawable/profile_btn"
/>
</tabs>
private void init_bottomBar(){
bottomBar = findViewById(R.id.bottom_bar);
bottomBar.setOnTabSelectListener(new OnTabSelectListener() {
@Override
public void onTabSelected(int tabId) {
switch (tabId)
{
case R.id.home_tab: <--here i cant find home_tab-->
break;
}
}
});
}
最佳答案
如果此 id 来自另一个 xml 文件,则您无法在 Activity 中找到您的 id
试试这个方法:
View inflatedView = getLayoutInflater().inflate(R.layout.your_layout, null);
BottomBar bottomBar = (BottomBar) inflatedView.findViewById(R.id.bottom_bar);
bottomBar.setOnTabSelectListener(new OnTabSelectListener() {
@Override
public void onTabSelected(int tabId) {
switch (tabId)
{
case R.id.home_tab:
break;
}
}
});
关于java - 如何从另一个 xml 文件访问我的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54361262/
我是一名优秀的程序员,十分优秀!