问题标签 [android-components]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 使用 Android 的导航组件时列出 backstack 上的 Fragments
我正在尝试调试一些代码,并希望在 Android 的当前 backstack 中列出片段。库存解决方案是从支持经理那里简单地列出它们,因此从活动中的方法:
然而,将它与 Android 的导航组件一起使用只会列出导航主机片段。
SO上的一些答案,例如Sergii Suvorov提供了以下替代方案:
这只是为我返回 null
在片段的方法中,我可以调用以下内容
它确实返回了所需的结果
然而,我没有从活动中看到如何做到这一点,也许有人知道魔法咒语?
android - 使用 Android 导航图时如何显示 HomeAsUp
我在显示 HomeAsUp 时遇到问题。我认为有一种方法可以将 NavColtroller 与 ActionBar 联系起来。所以我不需要为每个 Fragment 手动调整 Toolbar,主要是在使用包含返回上一屏时。
java - Viewmodel 无法创建类 Android Java MVVM 的实例
我正在尝试实现一个允许浏览电影并检查它们的评分的电影应用程序......当我尝试使用我的 MovieListViewModel 实现 MVVM 模型时遇到问题,其中调试器告诉我我无法创建实例这个类的(MovieListViewModel)。
我所做的是我尝试遵循一些教程,我在这个站点上查找了关于视图模型的所有问题,他们通常会说我应该将我的视图模型的构造函数作为公共构造函数,或者构造函数中存在其他问题(参数和类似的东西)但我确信我遵循了关于构造函数的指南
(我尝试按照本教程来实现我的应用程序的第一部分) https://medium.com/@eladb4382/paging-library-viewmodel-livedata-room-and-retrofit-66bf6a0eef9d 我做了基本相同的代码,但我有他没有的错误...
这是我的列表视图模型类:
公共类 MovieListViewModel 扩展 AndroidViewModel {
问题出在哪里:
公共类 MovieListFragment 扩展 Fragment 实现 OnMovieItemClicked {
(这不是整个片段类,它只是发生错误的部分)
我称之为这个片段的活动在这里::
公共类 MainActivity 扩展 AppCompatActivity {
我还在 GitHub 上上传了整个项目,以防有人想检查问题:
https://github.com/TheDeathLorD/MovieApp
这是我在运行时遇到的错误:
E/AndroidRuntime:致命异常:主进程:com.example.movieapp2,PID:4935 java.lang.RuntimeException:无法在 android.arch.lifecycle.ViewModelProvider 创建类 com.example.movieapp2.ui.viewmodel.MovieListViewModel 的实例$AndroidViewModelFactory.create(ViewModelProvider.java:207) at android.arch.lifecycle.ViewModelProvider.get(ViewModelProvider.java:134) at android.arch.lifecycle.ViewModelProvider.get(ViewModelProvider.java:102) at com.example。 movieapp2.ui.view.MovieListFragment.onCreateView(MovieListFragment.java:40)
android - 每个活动的最大组件数 Android
一个 android 活动可以容纳多少个组件是否有限制?它如何影响应用程序的性能?谢谢你。
android - AutoSizeTextTypeUniform 不适用于三星
我有一个包含一些视图的简单布局。这个 TextView 有
自动调整大小是这样以编程方式设置的..
我的问题是在三星 Galaxy S9 上,它不会调整文本大小并继续使用省略号。我已经在 XML 文件中以编程方式尝试过这个。有人在三星上遇到过这个吗??
编辑:经进一步检查,TextViewAutoSizeTextType
已从 NONE 更改为 UNIFORM,但未调整 textsize。
android - Android 双向数据绑定仅以一种方式工作
我有视图模型:
我使用以下方法将它与片段布局连接起来:
在 onCreateView 方法的片段类中:
我可以EditText
从片段或 ViewModel 类中更改值,但是当我尝试onBtnClick
在 Logcat 中的 ViewModel 方法中获取值时,我收到消息:I/MyViewModel: user:
我在这里缺少什么,以便双向数据绑定从其他方向呢?简而言之,数据从界面上的 ViewModel/ Fragment 流向 EditText,但它不会从界面上的 EditText 流向 ViewModel 字段/方法。提前致谢。
------- EDITED ----- 我设法填充了所有内容,但知道我收到了这个错误:
我想这是因为 viewmodel.user 是 LiveData 类型而不是 String 类型。我写了绑定适配器:
但我仍然收到上述消息。
android - 有没有办法在导航高级示例中定义开始选项卡?
我正在研究架构 组件示例存储库的NavigationAdvancedSample项目。此项目显示了一种解决方法,以支持BottomNavigationView的每个选项卡的多个后退堆栈。
在此配置中,您为每个选项卡定义一个导航图,并让类扩展NavigationExtensions为您处理不同的返回堆栈。一切正常,但我找不到选择BottomNavigationView
. 我试图调整NavigationExtensions
但没有成功。
默认情况下,应用程序启动时选择的选项卡是底部导航视图的第一个。例如,如何更改此行为以显示第二个或第三个选项卡?
android - Android Fragment isAdded 在 onResume 方法中发布线程后返回 false 并且 getActivity 为空
所以我在我的应用程序的主要活动中使用导航,我有一个片段,它是我的开始导航片段。
在这个片段中,在它被创建之后,我在我的演示者中发布了一个线程来从网络中获取数据。获取数据后,我正在使用主线程将数据显示到我的屏幕上。
该应用程序第一次运行时,它运行良好。
但是,如果用户打开抽屉并再次选择这个片段而不是另一个片段,则片段将再次重新创建,这意味着它会像导航组件那样被销毁并从头开始创建。
然而这一次,当我的演示者发布线程获取数据线程并完成并将结果发送到 UI 时,片段的 isAdded() 方法返回 false 并且 getActivity 为空。
这样做意味着我不能使用 Activity 上下文(getActivity() 为 null 或 requireActivity() 抛出非法状态异常),因此我无法加载图像等,因为我没有可用的上下文。
我强调当用户在此片段可见时打开抽屉并再次选择以从抽屉导航到此片段时会发生这种情况。如果用户导航到另一个片段然后按下后退按钮一切正常。
知道如何处理这个问题吗?