小编ale*_*spb的帖子

Anko CardView半径不起作用

我想用anko创建cardView并为其设置cornerRadius参数。但是当我尝试做的时候,没有任何不同。在主类中,我这样做:

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup): View {
    with(applicationContext!!) {
        listView = listView {
            layoutParams = ViewGroup.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT)
            dividerHeight = 20
        }
    }
    listView?.adapter = CustomAdapter(forms)

    return listView!!
}
Run Code Online (Sandbox Code Playgroud)

在CustomAdapter中,我返回cardView像这样:

override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
    val currentForm = getItem(position)
    return convertView ?: createCardView(parent!!.context, currentForm)
}

private fun createCardView(context: Context, form: FormField): View =
        with(context) {
            frameLayout {
                cardView {
                    layoutParams = FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT).apply {
                        leftMargin = dip(10)
                        rightMargin = dip(10)
                        topMargin = dip(5)
                        bottomMargin …
Run Code Online (Sandbox Code Playgroud)

android kotlin anko cardview

3
推荐指数
1
解决办法
1134
查看次数

如何在Java中将JSONObject写入其中包含JSONArray的文件?

我有JSON文件,我需要再次阅读,编辑和写出.

阅读工作正常,我在数据中与JSON数组的写入部分斗争.

我使用JSON.simple库来处理Java中的JSON.

该文件如下所示:

{
    "maxUsers":100,
    "maxTextLength":2000,
    "maxFileSize":2000,
    "services":
    [
        {
            "serviceName":"?????c",
            "className":"YandexConnector.class",
            "isEnabled":true
        },

        {
            "serviceName":"Google",
            "className":"GoogleConnector.class",
            "isEnabled":false
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

当我尝试将JSON数据(变量obj)写入文件时,该services数组被破坏.我的写作代码:

JSONObject obj = new JSONObject();
obj.put("maxUsers", this.getMaxUsers());
obj.put("maxTextLength", this.getMaxTextLength());
obj.put("maxFileSize", this.getMaxFileSize()); 

JSONArray servicesJSON = new JSONArray();
ArrayList<Service> servicesArray = this.getServices();
for(int i=0; i< servicesArray.size(); i++)
{
    servicesJSON.add(servicesArray.get(i));
}
obj.put("services", servicesJSON);


FileWriter file = new FileWriter(filename);                
obj.writeJSONString(file);
file.flush();
file.close();
Run Code Online (Sandbox Code Playgroud)

这输出:

{
    "services":
    [
        translator.settings.Service@121c5df,
        translator.settings.Service@45f4ae
    ],
    "maxTextLength":2000,
    "maxUsers":100,
    "maxFileSize":2000
}
Run Code Online (Sandbox Code Playgroud)

如何将JSON数据正确地写入文件,如果我在JSONArray中这样做services …

java json json-simple jsonobject

2
推荐指数
1
解决办法
4万
查看次数

ViewPager2 selectCurrentItem - 选择选项卡,但在此选项卡内放置错误的片段

我有基本的 ViewPager2 和 Tablayout - 在每个页面中我都有不同的片段。当我需要不从第一个(默认)选项卡打开此视图时,我正在这样做:

 viewPager.currentItem = selectedTabPosition
Run Code Online (Sandbox Code Playgroud)

此代码选择选项卡,但在其中打开第一个选项卡的片段!仅当我通过点击来选择选项卡时 - 我才能在每个选项卡中看到正确的片段。我也尝试使用 Tablayout 进行选择,如下所示:

tabLayout.getTabAt(position)?.select()
Run Code Online (Sandbox Code Playgroud)

但这段代码没有帮助,也可以解决这个错误。我也尝试过设置viewPager.currentItem-post / postDelay但这也不起作用。

也许我失去了一些东西?或者这是 ViewPager2 中的错误?

(编辑 - ViewPager 代码)

 override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)

    setupPagerAdapter()
}

private fun setupPagerAdapter() {
    val adapter = MainDocumentScreenPagerAdapter(this)

    binding?.viewPager?.letUnit {
        it.adapter = adapter
        binding?.tabsPagerView?.attachViewPager(requireContext(), it, adapter)

        // set tab
        it.currentItem = params.pageType.ordinal
}
Run Code Online (Sandbox Code Playgroud)

适配器代码

class MainDocumentScreenPagerAdapter (fragment: Fragment) : ViewPager2TitleAdapter(fragment) {

override fun getItemCount(): Int = DocumentPageType.values().size

override fun createFragment(position: …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager android-tablayout android-viewpager2

2
推荐指数
1
解决办法
2250
查看次数