我在一个片段中有三个回收者视图。我已经为其中两个设置了适配器。但是,一个回收者视图会使卡片视图夸大,而另一个则不能。
我已经调试了代码,没有显示的回收站视图的适配器没有被调用。
这是片段中的onViewCreated()方法
public void onViewCreated(View view, @NonNull Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
recyclerViewVendors = view.findViewById(R.id.rcyview_vendors);
recyclerViewEvents = view.findViewById(R.id.rcyview_home_events);
String json;
try{
InputStream is = getActivity().getAssets().open("vendorServices.json");
int size = is.available();
byte[] buffer = new byte[size];
if(is.read(buffer) == -1){
throw new EOFException();
}
is.close();
json = new String(buffer, StandardCharsets.UTF_8);
JSONObject object = new JSONObject(json);
JSONArray j_Array = object.getJSONArray("vendorServices");
for(int i=0;i<j_Array.length();i++){
JSONObject jo_inside = j_Array.getJSONObject(i);
myDatasetVendors.add(new VendorService(
jo_inside.getString("name"),
jo_inside.getString("img")
));
}
is = getActivity().getAssets().open("activities.json");
size = is.available();
buffer = new byte[size];
if …Run Code Online (Sandbox Code Playgroud) 我有一个使用 ViewPager 显示片段的应用程序的问题。一切正常,直到应用程序进入后台并被操作系统杀死。似乎在恢复之后,我有 2 个处理事件的 IncidentScreenFragment,其中一个带有使我的应用程序崩溃的空演示者 (MVP)。
我的 HomeActivity 看起来像:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
presenter.onViewCreated()
initViews(savedInstanceState)
}
private fun initViews(savedInstanceState: Bundle?){
mapView.onCreate(savedInstanceState)
mapView.getMapAsync(this)
initFragment()
initMenu()
}
private fun initFragment(){
homeFragment = HomeScreenFragment.newInstance()
incidentFragment = IncidentScreenFragment.newInstance()
chatFragment = ChatFragment.newInstance()
weatherFragment = WeatherFragment.newInstance()
viewPager.adapter = ViewPagerAdapter(supportFragmentManager, this)
viewPager.offscreenPageLimit = 4
viewPager?.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
override fun onPageScrollStateChanged(state: Int) {}
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {}
override fun onPageSelected(position: Int) {bottom_navigation.currentItem = position}
})
}
override fun …Run Code Online (Sandbox Code Playgroud)