Tag: android fragments

更改片段列表正在改变其他片段

我有一个TabLayout / ViewPager与我的活动中的两个片段。 标签被创建,然后我请求一些信息。 当我得到这个信息,我更新每个选项卡的RecyclerView。 主要活动 private fun setViews() { val adapter = TabsAdapter(supportFragmentManager) adapter.addFragment(NewsFragment(), getString(R.string.dossier_activity_news)) adapter.addFragment(PhotosFragment(), resources.getString(R.string.dossier_activity_photos)) view_pager.adapter = adapter tab_layout.setupWithViewPager(view_pager) // request info } fun setPages(pages: List) { // got info ((view_pager.adapter as TabsAdapter).getItem(0) as NewsFragment).setPages(pages) ((view_pager.adapter as TabsAdapter).getItem(1) as PhotosFragment).setPages(pages) } 问题是:在第二个选项卡( PhotosFragment )中,我想删除所有不包含照片/缩略图的页面。 NewsFragment fun setPages(pages: List) { if (pages.isNotEmpty()) recycler_view.adapter […]

如何使用Fragment的数据绑定

我试图从官方的谷歌文档https://developer.android.com/tools/data-binding/guide.html数据绑定的例子 除了我试图将数据绑定应用于片段而不是活动。 我正在编译的错误 Error:(37, 27) No resource type specified (at ‘text’ with value ‘@{marsdata.martianSols}. onCreate的片段如下所示: @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); MartianDataBinding binding = MartianDataBinding.inflate(getActivity().getLayoutInflater()); binding.setMarsdata(this); } onCreateView的片段看起来像这样: @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(R.layout.martian_data, container, false); } 部分我的布局文件的片段如下所示: … 我的怀疑是, MartianDataBinding不知道它应该绑定哪个布局文件 – 因此错误。 有什么建议么?

在片段中使用上下文

我怎样才能得到一个片段的上下文? 我需要使用我的数据库的构造函数在上下文中,但getApplicationContext()和FragmentClass.this不工作,所以我能做什么? 数据库构造函数 public Database(Context ctx) { this.context = ctx; DBHelper = new DatabaseHelper(context); }

SwipeRefreshLayout会干扰ViewPager中的ScrollView

我有一个ViewPager周围的SwipeRefreshLayout。 由ViewPager加载的片段包含ScrollViews。 当我向下滚动它可以正常工作,但是当我向上滚动时,SwipeRefreshLayout激活而不让ScrollView先滚动。 我如何确保ScrollView具有优先权? 当SwipeRefreshLayout在ScrollView之外的独立片段中工作的很好,但是我需要它在ViewPager周围的活动本身。 以下是相关的布局: 活动: 由ViewPager加载的片段(有5个选项卡,每个都有其中之一): 如果你需要更多的信息,这里是GitHub上的回购: https : //github.com/sargunster/purdue-dining-courts-android

在一个片段上设置LayoutManager

我创建了一个片段,我试图实现一个recyclerView并加载一个列表。 当我尝试设置layoutManager时,问题即将到来 错误: java.lang.NullPointerException:尝试在com.gn.app的空对象引用上调用虚拟方法’void android.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView $ LayoutManager)’。 Fragments.StationsFragment.onCreateView(StationsFragment.kt:37) 我无法弄清楚什么是错的。 分段: class StationsFragment : Fragment() { companion object { val TAG: String = StationsFragment::class.java.simpleName fun newInstance() = StationsFragment() } override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { activity.title = getString(R.string.title_home) val view = inflater?.inflate(R.layout.fragment_stations, container, false) rcViewStations.layoutManager = LinearLayoutManager(activity) val retrofit = Retrofit.Builder() .baseUrl(url) […]

在后台获取最新的片段

我怎样才能得到最新的片段实例添加在背后(如果我不知道片段标签&ID)? FragmentManager fragManager = activity.getSupportFragmentManager(); FragmentTransaction fragTransacion = fragMgr.beginTransaction(); /****After add , replace fragments (some of the fragments are add to backstack , some are not)***/ //HERE, How can I get the latest added fragment from backstack ??

ListView可以出现在Activity中,但不能出现在Fragment中

ListView可以出现在Activity但不能出现在Fragment但是我在Android Studio 3.0中使用Kotlin中的相同代码? 这是我的片段代码: class testFrag : Fragment() { var adapter : mo3dAdapter?=null var listOfMkabala = ArrayList() override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { return inflater!!.inflate(R.layout.fragment_test, container, false) listOfMkabala .add ( MeetingDetails(” nour1″, “ahmed1” , “aya1″)) listOfMkabala .add ( MeetingDetails(” nour2″, “ahmed2” , “aya2″)) listOfMkabala .add ( MeetingDetails(” nour3″, “ahmed3” , “aya3”)) […]

将支持库更新到27.0.0后,我的片段中有多个错误

将支持库从v-26.1.0更新到v-27.0.0之后将碎片中的多个错误更新。 这里是一些这些错误的列表: 错误:智能转换为“捆绑”是不可能的,因为“参数”是一个可以改变的可变属性。 错误:’onCreateView’覆盖任何东西 错误:’onViewCreated’覆盖任何东西 错误:types不匹配:推断types是View? 但是View是预期的 错误:types不匹配:推断types是上下文吗? 但上下文是预期的 错误:types不匹配:推断types是FragmentActivity? 但上下文是预期的 错误:types不匹配:推断types是FragmentActivity? 但上下文是预期的 从android工作室的模板为空片段。 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) if (arguments != null) { mParam1 = arguments.getString(ARG_PARAM1) mParam2 = arguments.getString(ARG_PARAM2) } } override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { return inflater!!.inflate(R.layout.fragment_blank, container, false) } override fun onViewCreated(view: View?, savedInstanceState: Bundle?) { […]

Android Studio Bug说新的未解决的参考

我试图为我的朋友做一个应用程序,这个错误不会消失。 我需要在3月6日之前完成应用程序,如果我不修复这个错误并完成剩下的工作,我不打算这样做。 此外,如果有一种方法,使nav_view不是一个特定的nav_,但每个nav_有。 所以我可以从nav_donate跳到nav_prayers或nav_donate到nav_events。 错误在页面的底部 package com.naifcenter.mohammad.naifcenter import android.app.FragmentManager import android.os.Bundle import android.support.design.widget.Snackbar import android.support.design.widget.NavigationView import android.support.v4.view.GravityCompat import android.support.v7.app.ActionBarDrawerToggle import android.support.v7.app.AppCompatActivity import android.view.Menu import android.view.MenuItem import kotlinx.android.synthetic.main.activity_home_page.* import kotlinx.android.synthetic.main.app_bar_home_page.* class HomePage : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_home_page) setSupportActionBar(toolbar) fab.setOnClickListener { view -> Snackbar.make(view, “Replace with your own action”, Snackbar.LENGTH_LONG) .setAction(“Action”, […]

错误在ActionBar中的SearchView

我有一个搜索视图的操作栏,我有一个片段设置选项菜单。 在我的MainActivity SearchView工作正常,但在我的片段(我需要处理事件OptionMenuItem做些事情),setHasOptionMenu后,然后SearchView无法正常工作。 这是我的代码 MainActivity中的选项菜单 public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); // Create SearchView SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); searchView = (SearchView) menu.findItem(R.id.action_search).getActionView(); searchView.setSubmitButtonEnabled(false); searchView.setQueryHint(“Search Here”); searchView.setSearchableInfo(searchManager .getSearchableInfo(getComponentName())); SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String s) { return false; } @Override public boolean onQueryTextChange(String s) { if(s.length() > 0){ Tab1.listadaptor.getFilter().filter(s); Tab2.listadaptor.getFilter().filter(s); […]