Java 在带有导航抽屉和appbar的片段中未找到跳过的适配器
我制作了一个片段,其中我附加了一个带有虚拟数据的回收器视图,但当我将该片段包含在主活动中的面板中时,主活动滑块数据显示,但在片段数据中,它表示未找到recyclerview适配器,因此跳过了该片段。请告诉我什么是问题 Slidepanel layout.xml的主要活动Java 在带有导航抽屉和appbar的片段中未找到跳过的适配器,java,android,android-fragments,navigation-drawer,Java,Android,Android Fragments,Navigation Drawer,我制作了一个片段,其中我附加了一个带有虚拟数据的回收器视图,但当我将该片段包含在主活动中的面板中时,主活动滑块数据显示,但在片段数据中,它表示未找到recyclerview适配器,因此跳过了该片段。请告诉我什么是问题 Slidepanel layout.xml的主要活动 <com.sothree.slidinguppanel.SlidingUpPanelLayout xmlns:android="http://schemas.android.com/apk/res/android
<com.sothree.slidinguppanel.SlidingUpPanelLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:sothree="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/slider_drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="bottom"
sothree:umanoPanelHeight="68dp"
sothree:umanoShadowHeight="4dp"
tools:context=".sliderFragment">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/slider_main"
layout="@layout/fragment_slider"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.appcompat.widget.Toolbar
android:id="@+id/slideToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
sothree:titleTextColor="@color/colorWhite" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/slider_recycle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:listitem="@layout/review_design" />
</LinearLayout>
</com.sothree.slidinguppanel.SlidingUpPanelLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity {
Toolbar toolbar;
reviewAdapt adaptView;
SlidingUpPanelLayout slidingUpPanelLayout;
RecyclerView recyclerOverView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findview();
}
private void findview() {
recyclerOverView = findViewById(R.id.slider_recycle);
toolbar = findViewById(R.id.slideToolbar);
slidingUpPanelLayout = findViewById(R.id.slider_drawer);
populateList();
list();
}
private void list() {
slidingUpPanelLayout.addPanelSlideListener(new SlidingUpPanelLayout.PanelSlideListener() {
@Override
public void onPanelSlide(View panel, float slideOffset) {
Log.i(TAG, "onPanelSlide, offset " + slideOffset);
}
@Override
public void onPanelStateChanged(View panel, SlidingUpPanelLayout.PanelState previousState, SlidingUpPanelLayout.PanelState newState) {
Log.i(TAG, "onPanelStateChanged " + newState);
}
});
slidingUpPanelLayout.setFadeOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
slidingUpPanelLayout.setPanelState(SlidingUpPanelLayout.PanelState.EXPANDED);
}
});
}
private void populateList() {
List<reviewModel> reviewModelList = new ArrayList<>();
for (int i = 1; i < 20; i++) {
int imges = R.drawable.ic_userlogin;
String names = " Name is " + i;
String dates = " Dates is " + i;
String detail = " details about is " + i;
reviewModel models = new reviewModel(names, dates, detail, 4, imges);
reviewModelList.add(models);
}
setupRecycle(reviewModelList);
}
private void setupRecycle(List<reviewModel> reviewModelList) {
adaptView = new reviewAdapt(this, reviewModelList, reviewModelList.size());
LinearLayoutManager layout = new LinearLayoutManager(this);
layout.setSmoothScrollbarEnabled(true);
recyclerOverView.setLayoutManager(layout);
recyclerOverView.setHasFixedSize(true);
recyclerOverView.setAdapter(adaptView);
Log.d("adpater","show");
}}
public类MainActivity扩展了AppCompatActivity{
工具栏;
回顾适应观点;
SlidingUpPanelLayout SlidingUpPanelLayout;
RecyclerView recyclerOverView;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findview();
}
私有void findview(){
recyclerOverView=findViewById(R.id.slider\u recycle);
工具栏=findViewById(R.id.slideToolbar);
SlidengUppanellayout=findViewById(R.id.slider\U抽屉);
大众主义者();
list();
}
私人作废清单(){
slidingUpPanelLayout.addPanelSlideListener(新的slidingUpPanelLayout.PanelSlideListener(){
@凌驾
公共空心面板幻灯片(视图面板、浮动幻灯片偏移){
Log.i(标签“onPanelSlide,offset”+slideOffset);
}
@凌驾
public void onPanelStateChanged(查看面板,SlidingUpPanelLayout.PanelState previousState,SlidingUpPanelLayout.PanelState newState){
Log.i(标记“onPanelStateChanged”+newState);
}
});
SlidengUpPanelLayout.setFadeOnClickListener(新视图.OnClickListener()){
@凌驾
公共void onClick(视图){
slidengappanellayout.setPanelState(slidengappanellayout.PanelState.EXPANDED);
}
});
}
私有void populateList(){
List reviewModelList=new ArrayList();
对于(int i=1;i<20;i++){
int imges=R.drawable.ic_userlogin;
String names=“Name is”+i;
String dates=“dates is”+i;
String detail=“关于的详细信息是”+i;
reviewModel模型=新的reviewModel(名称、日期、详细信息、4、图片);
添加(模型);
}
setupRecycle(ReviewModelist);
}
私有void setupRecycle(列表reviewModelList){
AdapteView=newReviewAdapt(this,ReviewModelist,ReviewModelist.size());
LinearLayoutManager布局=新的LinearLayoutManager(此);
layout.setSmoothScrollbarEnabled(真);
recyclerOverView.setLayoutManager(布局);
recyclerOverView.setHasFixedSize(true);
recyclerOverView.setAdapter(AdapterView);
日志d(“adpater”、“show”);
}}
SliderFragment.xml
<androidx.drawerlayout.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/salon_drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.appcompat.widget.Toolbar
android:id="@+id/salonToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorGrey"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:titleTextColor="@color/colorWhite" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/salon_tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorGrey"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/salonToolbar" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/salon_tabLayout"
tools:listitem="@layout/review_design" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/call_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|end"
android:paddingBottom="@dimen/_16sdp"
android:src="@drawable/ic_call"
android:tint="@color/colorBlack"
android:translationY="-8dp"
app:backgroundTint="@color/colorOrange"
app:layout_anchor="@id/msg_fab"
app:layout_anchorGravity="top" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/msg_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|end"
android:layout_margin="@dimen/_8sdp"
android:layout_marginBottom="@dimen/_16sdp"
android:src="@drawable/ic_message"
android:tint="@color/colorBlack"
android:translationY="-8dp"
app:backgroundTint="@color/colorOrange"
app:layout_anchor="@id/extend_fab"
app:layout_anchorGravity="top" />
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
android:id="@+id/extend_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="@dimen/_8sdp"
android:text="@string/extended"
app:backgroundTint="@color/colorOrange"
app:cornerRadius="@dimen/_30sdp"
app:icon="@drawable/ic_add"
app:iconGravity="start" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
<com.google.android.material.navigation.NavigationView
android:id="@+id/salonNavigation"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/header_salon"
app:menu="@menu/salon_menu" />
</androidx.drawerlayout.widget.DrawerLayout>
SlideFragment.java
public class sliderFragment extends Fragment {
reviewAdapt adaptOverView;
RecyclerView recyclerOverView;
Toolbar toolbar;
Fragment slider;
TabLayout tabLayout;
ActionBarDrawerToggle toggle;
DrawerLayout drawer;
boolean isClick=false;
NavigationView navigationView;
FloatingActionButton msgFab, callFab;
ExtendedFloatingActionButton exFab;
public sliderFragment() {
// Required empty public constructor
}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_slider, container, false);
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
findview(view);
}
private void findview(View view) {
toolbar = view.findViewById(R.id.salonToolbar);
tabLayout = view.findViewById(R.id.salon_tabLayout);
drawer = view.findViewById(R.id.salon_drawer);
msgFab = view.findViewById(R.id.msg_fab);
callFab = view.findViewById(R.id.call_fab);
exFab = view.findViewById(R.id.extend_fab);
recyclerOverView = view.findViewById(R.id.recyclerList);
navigationView = view.findViewById(R.id.salonNavigation);
((AppCompatActivity) getActivity()).setSupportActionBar(toolbar);
showToggle();
populateList();
fabExtension();
}
private void fabExtension() {
exFab.shrink();
msgFab.hide();
callFab.hide();
exFab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isClick) {
msgFab.setVisibility(View.GONE);
callFab.setVisibility(View.GONE);
isClick = false;
} else {
msgFab.setVisibility(View.VISIBLE);
callFab.setVisibility(View.VISIBLE);
isClick = true;
}
}
});
}
private void showToggle() {
toggle = new ActionBarDrawerToggle(getActivity(), drawer, toolbar, R.string.open,
R.string.close);
drawer.addDrawerListener(toggle);
toggle.syncState();
toggle.getDrawerArrowDrawable().setColor(getResources().getColor(R.color.colorWhite));
navigationView.setNavigationItemSelectedListener(new
NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.about_salon:
Toast.makeText(getContext(), "About Item Click", Toast.LENGTH_SHORT).show();
drawer.closeDrawer(GravityCompat.START);
break;
case R.id.home_salon:
Toast.makeText(getContext(), "Home Item Click", Toast.LENGTH_SHORT).show();
drawer.closeDrawer(GravityCompat.START);
break;
case R.id.details_salon:
Toast.makeText(getContext(), "Details Item Click", Toast.LENGTH_SHORT).show();
drawer.closeDrawer(GravityCompat.START);
break;
case R.id.setting_salon:
Toast.makeText(getContext(), "Setting Item Click", Toast.LENGTH_SHORT).show();
drawer.closeDrawer(GravityCompat.START);
break;
default:
break;
}
return false;
}
});
}
private void populateList() {
List<reviewModel> reviewList = new ArrayList<>();
for (int i = 1; i < 20; i++) {
int imges = R.drawable.ic_userlogin;
String names = "User Name is " + i;
String dates = "New Dates is " + i;
String detail = "User details about is " + i;
reviewModel models = new reviewModel(names, dates, detail, 4, imges);
reviewList.add(models);
}
setupRecycle(reviewList);
}
private void setupRecycle(List<reviewModel> reviewList) {
adaptOverView = new reviewAdapt(getContext(), reviewList, reviewList.size());
LinearLayoutManager layout = new LinearLayoutManager(getContext());
layout.setSmoothScrollbarEnabled(true);
recyclerOverView.setLayoutManager(layout);
recyclerOverView.setHasFixedSize(true);
recyclerOverView.setAdapter(adaptOverView);
recyclerOverView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
if (dy < 0)
exFab.shrink();
else if (dy > 0)
exFab.extend();
}
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
}
});
}}
公共类sliderFragment扩展了片段{
复习适应概述;
RecyclerView recyclerOverView;
工具栏;
碎片滑块;
表格布局;
ActionBarDrawerToggle切换;
抽屉式抽屉;
布尔值isClick=false;
导航视图导航视图;
浮动操作按钮msgFab,调用fab;
ExtendedFloatingActionButton exFab;
公共幻灯片片段(){
//必需的空公共构造函数
}
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//为该碎片膨胀布局
返回充气机。充气(R.layout.fragment_滑块,容器,假);
}
@凌驾
已创建公用void onview(@NonNull视图,@Nullable Bundle savedInstanceState){
super.onViewCreated(视图,savedInstanceState);
findview(视图);
}
私有void findview(视图){
toolbar=view.findviewbyd(R.id.toolbar);
tabLayout=view.findviewbyd(R.id.salon\u tabLayout);
抽屉=view.findViewById(R.id.salon_抽屉);
msgFab=view.findviewbyd(R.id.msg_fab);
callFab=view.findviewbyd(R.id.call\u fab);
exFab=view.findviewbyd(R.id.extend\u fab);
recyclerOverView=view.findViewById(R.id.recyclerList);
navigationView=view.findViewById(R.id.navigation);
((AppCompatActivity)getActivity()).setSupportActionBar(工具栏);
showthoggle();
大众主义者();
fab扩展();
}
私有无效扩展(){
exFab.shrink();
msgFab.hide();
callFab.hide();
exFab.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
如果(isClick){
msgFab.setVisibility(View.GONE);
callFab.setVisibility(View.GONE);
isClick=false;
}否则{
msgFab.setVisibility(View.VISIBLE);
callFab.setVisibility(View.VISIBLE);
isClick=true;
}
}
});
}
私有void showthoggle(){
toggle=newactionBarDrawerToggle(getActivity()、抽屉、工具栏、R.string.open、,
R.string.close);
抽屉。添加抽屉链接器(切换);
toggle.syncState();
toggle.getDrawarRowDrawable().setColor(getResources().getColor(R.color.colorWhite));
navigationView.setNavigationItemSelectedListener(新建
NavigationView.OnNavigationItemSelectedListener(){
@凌驾
公共布尔值onNavigationItemSelected(@NonNull MenuItem item){
开关(item.getItemId()){
案例R.id.关于沙龙:
Toast.makeText(getContext(),“关于项目单击”,Toast.LENGTH_SHORT.show();
抽屉。关闭抽屉(重力压缩机启动);
打破
案例R.id.home_沙龙:
Toast.makeText(getContext(),“主项单击”,Toast.LENGTH_SHORT.show();
抽屉。关闭抽屉(重力压缩机启动);
打破
案例R.id.详细信息\u沙龙:
Toast.makeText(getContext(),“详细信息项单击”,Toast.LENGTH_SHORT.show();
抽屉。关闭抽屉(重力压缩机启动);
打破
案例R.id.se