Tag: android fragments

如何在Honeycomb上以编程方式关闭ActionMode菜单?

在我的应用程序中有一个ListFragment,列表中的每个项目都包含一个checkbox。 只要用户点击其中一个checkbox,应用程序就会启动一个ActionMode上下文菜单。 但是我希望应用程序在单击另一个组件时关闭ActionMode菜单。 我尝试了Fragment#closeContextMenu()但没有成功。 任何想法我怎么能做到这一点?

Android:导航到另一个片段

我有一个ViewPager和TabLayout设置4片段,就像任何现代的社交应用程序。 我尝试过,尝试过,尝试过,但我无法find我的问题的答案。 在其中一个选项卡中,我想从片段导航到另一个片段,但不是导航,而是将其放在顶部,我仍然可以与前一个片段进行交互。 这不是替代,只是把它放在最上面。 码: // Chat fragment : Inside the onCreateView fun this.loadConvos({ chats -> this.chatsArray = chats this.chatsArray.sortBy { it.timestamp} this.chatsArray.reverse() listView.adapter = ChatBaseAdapter(this.chatsArray, context) listView.setOnItemClickListener { parent, view, position, id -> this.chatID = this.chatsArray[position].chatID!! Toast.makeText(context, “Position Clicked: ” + position, Toast.LENGTH_SHORT).show() childFragmentManager .beginTransaction() .replace(R.id.chatFragmentLayout, MessagesFragment()) .addToBackStack(null) .commit() } }, { error -> […]

实例化新的Android Fragment的最佳做法

我已经看到了两个通用实践来在应用程序中实例化一个新的片段: Fragment newFragment = new MyFragment(); 和 Fragment newFragment = MyFragment.newInstance(); 第二个选项使用静态方法newInstance() , 通常包含以下方法。 public static Fragment newInstance() { MyFragment myFragment = new MyFragment(); return myFragment; } 起初,我认为主要的好处是,我可以重载newInstance()方法来创建一个Fragment的新实例时的灵活性 – 但是我也可以通过为Fragment创建一个重载的构造函数来实现。 我错过了什么? 一种方法比另一种方法有什么好处? 或者这只是一个好习惯?

如何摧毁片段?

我有一个Activity 。 Activity有两个Fragment 。 片段A是菜单。 片段B是细节。 我尝试在片段B中制作其他片段C,因此,活动中有3个片段。 我尝试将片段B替换为片段D. 我猜片段B和C已经死了。 但这些碎片还活着。 只是片段是onDestroyView()状态。 我想onDestroy()或onDetach() 。 我该怎么做Fragments.onDestroy()或onDetach() ? 我不能销毁或更改Activity 。

在Kotlin中的片段类之间切换

我有一个导航的抽屉,并在Android与KOTLIN切换片段有问题。 没有错误消息出现,但我猜这个代码和平的问题: private fun selectItemDrawer(menuItem: MenuItem){ var fragment:Fragment? = null var fragmentClass:Class = when(menuItem.itemId) { R.id.first-> FirstFragment::class.java R.id.second-> SecondFragment::class.java R.id.third-> ThirdFragment::class.java R.id.fourth-> FourthFragment::class.java else -> FirstFragment::class.java } try { fragment = fragmentClass.newInstance() as Fragment }catch (e:Exception){ e.printStackTrace() } var fragmentManager = supportFragmentManager fragmentManager.beginTransaction() .replace(R.id.frame,fragment) .commit() menuItem.isChecked = true menuItem.title drawer_layout.closeDrawers() } 任何人都可以帮助这个请!

操作条向上导航与片段

我有一个带有三个选项卡的选项卡式的Actionbar / viewpager布局, 如A , B和C. 在选项卡C选项卡(片段),我添加另一个片段说片段D。 同 DFragment f= new DFragment(); ft.add(android.R.id.content, f, “”); ft.remove(CFragment.this); ft.addToBackStack(null); ft.commit(); 我修改DFragment的onResume中的操作栏添加按钮: ActionBar ab = getActivity().getActionBar(); ab.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); ab.setDisplayHomeAsUpEnabled(true); ab.setDisplayShowHomeEnabled(true); 现在在DFragment中,当我按下硬件(手机)“后退”按钮时,我将选择CFragment返回到原始选项卡式(ABC)布局。 如何使用操作栏向上按钮来实现此function?

在kotlin的片段

我卡在我的应用程序,因为我必须做一个片段,在导航抽屉kotlin ..任何人都可以帮忙吗? 我在网上搜索了很多东西,但是我还没有find任何东西…在这里是两个项目,我已经做了主要活动,我希望在片段中也有。 override fun onNavigationItemSelected(item: MenuItem): Boolean { // Handle navigation view item clicks here. when (item.itemId) { R.id.home -> { } R.id.subjects -> { val intent = Intent(this, SubjectsActivity::class.java) startActivity(intent) } } drawer_layout.closeDrawer(GravityCompat.START) return true }

错误在http请求返回错误时处理UI线程

我正在使用Fuel和Rxjava进行网络通话。 我已经将我的基本URL设置为localhost,而不是在服务任何东西。 我想能够处理网络错误,所以我可以在用户界面上显示某种错误信息。 这是我的GET请求的一个例子 fun getRandom(take: Int, responseHandler: (result: WikiResult) -> Unit?) { Urls.getRandomURl(take) .httpGet() .timeout(timeout) .timeoutRead(readTimeout) .rx_object(WikipediaDataDeserializer()) .subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe({ result -> val statusCode = result.component2()?.response?.statusCode when(statusCode) { -1 -> e(statusCode.toString(), result.component2()?.cause.toString()) else -> { val (data, _) = result responseHandler.invoke(data as WikiResult) } } }, { error -> e(error.cause.toString()) }) } 在我的片段上,我在异步任务中调用上面的函数 private […]

使用fragmenttransaction添加嵌套片段时,不能唯一地标识布局

我正在尝试执行以下操作: 在活动中, 将容器替换为一个片段(TestFragment) 这个片段的布局包含一个被另一个片段(TestSubFragment) 替换的容器, 单击TestSubFragment使活动在根容器上添加一个新的TestFragment TestActivity.kt class TestActivity : AppCompatActivity(), TestSubFragment.OnFragmentInteractionListener { override fun onFragmentInteraction(id: Int) { supportFragmentManager.beginTransaction().add(R.id.container, TestFragment.newInstance(id)).addToBackStack(null).commit() } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_test) supportFragmentManager.beginTransaction().replace(R.id.container, TestFragment.newInstance(1)).addToBackStack(null).commit() } } TestFragment.kt class TestFragment : Fragment() { private var id: Int? = null override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { val […]

如何在Android片段中正确实现一个接口?

乡亲。 我一直在与kotlin一个项目工作,我需要做一个片段,与父母的活动交流…我完全按照谷歌和其他网站的建议,但我仍然得到一个错误“活动不会覆盖任何东西”…所有其他解决方案都不适合我…这里是代码。 分段 package com.me.assistan.assistant import android.app.Activity import android.app.DatePickerDialog import android.app.TimePickerDialog import android.content.Context import android.content.Intent import android.graphics.drawable.GradientDrawable import android.os.Bundle import android.support.v4.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.CompoundButton import android.widget.LinearLayout import android.widget.ToggleButton import kotlinx.android.synthetic.main.content_newplan.* import java.util.* class addingTask : Fragment(), View.OnClickListener{ var func = Functions var globalTask = GlobalTask private lateinit var listener: OnTimeSettedListener […]