我正在学习一个教程,老师正在使用Android支持库v7。在我的应用程序中,我使用的是androidx版本(正如Android开发者网站上所建议的那样)。当我按指示输入代码行时,Android会对部分代码进行删除,尝试获取FragmentManager,并说:"getter for fragmentManager: FragmentManager!是不推荐的,在Java中不推荐。“我搜索了很多类似问题的帖子,但所提供的解决方案并不适用于我的案例。有些用户的支持库版本不匹配,而另一些用户在gradle文件中没有适当的依赖项。据我所知,这些问题不适用于此。
根据FragmentManage
我刚开始使用Kotlin,我试着把我的项目从java移植到kotlin。基本上,我有一个helper类,它尝试初始化recyclerview布局、适配器等。 在java中:适配器 public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder>
{
...
public static class ViewHolder extends RecyclerView.ViewHolder
{
...
}
...
} 我的helper函数: public void init(Rec
需要帮助--我一直在努力寻找一种方法,以便我可以将数据从kotlin传递到newInstance of a DialogFragment。kotlin代码
private var messageDialog: MessageDialog? = null
override fun onLoginFail(value: String?) {
//TODO:find hpw to implement this
messageDialog = MessageDialog.newInstance(getString(R.string.sign_title),getString(R.st
我正在使用RecyclerView,并使用Retrofit从服务器获取数据。我使用Kotlin和MVVM设计模式。我用过LiveData,它运行得很好。但是当我们导航到另一个片段并再次回到同一个片段时,Stateflow会引发问题。它只会再次获取相同的数据。下面是ViewModel和观察者的代码:
//视图模型
private val _allTimeSheetsResponse =
MutableStateFlow<ResponsesResult<AllTimeSheetsResponse>>(ResponsesResult.Empty)
va
我是Kotlin和同步编程方面的新手。我有密码:
open class MyFragment : DialogFragment() {
private var fragmentBinding: FragmentBinding? = null
private var resultList: List<MyObject> = ArrayList()
private var list = ArrayList<MyObjectItem>()
private lateinit var adapter: MynAdapter
ove
问题:
我正在添加视图到回收视图点击一下。当我单击一个视图时,它会打开一个DialogFragment,我如何通过DialogFragment删除该视图(通过单击其中的一个按钮)?
适配器:
public class SubjectsAdapter extends RecyclerView.Adapter<SubjectsAdapter.ViewHolder> {
public List<String> items = new ArrayList<>();
public Activity mcontext;
public Subj
我有一个视图被单击的RecylcerView,它应该将用户带到一个对话框片段,在那里用户将能够编辑视图的内容。因此,我需要将数据作为数据类DressMeasurementModel从主机片段传递到dailog片段。
我如何才能做到这一点?
// This property is only valid between onCreateView and onDestroyView.
private val binding get() = _binding!!
private lateinit var addMeasurementFab: FloatingActionButt
我从后端-房间数据库中获取图片对象,我想按日期在RecyclerView中对它们进行排序--最近的排序在顶部。我使用kotlin列表函数,但是ASC和DESC排序的结果是相同的。为什么?
这是我的代码:
private fun inflateRecyclerView(pictureList: List<FavouritePictureModel>) {
val list = pictureList.map { picture ->
picture.id.let {
id
F
我的viewModel包含一些变量,比如应该在recyclerView中创建多少cardViews。因此,我正在寻找一种方法来访问适配器类中相同的viewModel对象。是否有办法这样做,或有更好的替代办法?我的代码是kotlin
class RecyclerAdapter : RecyclerView.Adapter<RecyclerAdapter.ViewHolder>() {
private val gameViewModel: GameViewModel by activityViewModels()
这是一个简单的问题。在Java中,您可以在不添加任何值的情况下创建字符串变量或两个变量。在活动中调用onCreate()之前,在类的开始时使用。我在Kotlin中使用了lateinit属性来实现这一点,但是现在我在更改RecyclerView的可见性方面遇到了问题。它将引发异常"lateinit property recyclerView has not been initialized"。
是否有任何方法可以知道属性是否已初始化?这是在片段中父活动开始时调用的(隐藏recyclerView并显示ProgressBar,直到数据绑定到recyclerView)。
因此,我按照Android网站()上的当前指南创建了一个自定义对话框,并希望将用户输入从EditText传递给MainActivity;但结果是MainActivity接收null。我不明白为什么。
任何帮助都是非常感谢的。
这是我的密码:
MainActivity.java
public class MainActivity extends AppCompatActivity implements NewItemFragment.NoticeDialogListener {
private final static String TAG = "tag";
Recycler
我需要显示一个对话框来按下适配器上的项上的一个按钮,现在我要这样做:
Adapter.class
public class AdaptadorEncuesta extends RecyclerView.Adapter<AdaptadorEncuesta.ViewHolder> {
public class ViewHolder extends RecyclerView.ViewHolder implements
View.OnClickListener {
DialogoGrafica dialogoGrafica = DialogoGrafica.new
我有一个导航抽屉,里面有一个RecyclerView。当单击RecyclerView中的项目时,我可以使用以下RecyclerAdapter成功导航到所需的活动:
public class AdapterNavigation extends RecyclerView.Adapter<AdapterNavigation.Holder> {
private List<NavigationItem> mItemList;
private Context mContext;
//this class takes a context and a li
我有一个带有两个选项卡的ViewPager的主活动。每个选项卡包含一个片段。
其中一个片段包含一个RecyclerView和FAB,它在单击时显示一个DialogFragment,允许用户向RecyclerView添加一个新项。此片段还实现了LoaderCallbacks接口( RecyclerView数据由游标支持):
public class MyListFragment extends Fragment
implements LoaderManager.LoaderCallbacks<Cursor> {
@Override
public Vi
这是我的KotlinRecyclerView适配器类
class ListAdapter(var c: Context, var lists: ArrayList<Employee>,
itemClickListener: Any?): RecyclerView.Adapter<RecyclerView.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): RecyclerView.ViewHolder {
var v