小编Jak*_*ain的帖子

带有iOS 8的Swift 4

更新我的代码后Swift4,应用程序在iOS 8.3上崩溃.我收到了以下错误

dyld:找不到符号:_NSCharacterEncodingDocumentOption引用自:/private/var/mobile/Containers/Bundle/Application/213D60CD-1ED9-4811-A3C7-B47383557453/development.app/development期望:/ System/Library/Frameworks/UIKit.框架/ UIKit的

  var decoded: String {

    let encodedData = self.data(using: String.Encoding.utf8)!
    let attributedOptions: [NSAttributedString.DocumentReadingOptionKey : Any] =
        [
           .documentType: NSAttributedString.DocumentType.html ,
           .characterEncoding: String.Encoding.utf8.rawValue
    ]

    do {
         let attributedString = try NSAttributedString(data: encodedData, options: attributedOptions, documentAttributes: nil)
         return attributedString.string
    } catch _ {

        return self

    }

}
Run Code Online (Sandbox Code Playgroud)

ios swift ios8 swift4

8
推荐指数
0
解决办法
925
查看次数

使用 layout_gravity="bottom||end" xml 时,Android 资源链接失败

我试着把我的FAB放在Bottom屏幕的右侧。但每次我buildapp,它总是会失败,AAPT error如果我使用的android:layout_gravity="bottom||end"

这是详细的错误:Android 资源链接失败

AAPT: 错误: 'bottom||end' 与属性 layout_gravity (attr) 标志不兼容 [bottom=80, center=17, center_horizo​​ntal=1, center_vertical=16, clip_horizo​​ntal=8, clip_vertical=128, end=8388613, fill= 119、fill_horizo​​ntal=7、fill_vertical=112、left=3、right=5、start=8388611、top=48]。

我试过使用android:layout_gravity="bottom"它,它工作得很好。

有人可以帮我弄这个吗?

xml android android-studio floating-action-button androidx

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

片段重新创建后,ViewModel 不保留数据

我有三个带有底部导航栏的片段应用程序,我使用 NavigationUI 进行切换。我还有一个创建数据的视图模型(来自资产傻瓜),片段观察我用来填充回收器视图的实时数据的数组列表。

我的问题是每当我切换片段时,随着片段的重新创建,我不希望每次重新创建片段时都进行数据检索。因此使用视图模型。但就我而言,viewmodel 中的数据没有保留。我附上了片段和视图模型代码。我不确定这里有什么问题。

我尝试记录 aaraylist 中的条目数,如果我不调用填充数组列表的例程,它会返回 0。

歌曲片段

private const val TAG = "Songs Fragment"

class SongsFragment : Fragment(), android.widget.SearchView.OnQueryTextListener {

    private val viewmodel: SongListViewModel by lazy { ViewModelProviders.of(this).get(SongListViewModel::class.java)}

    private val songListAdapter = SongListAdapter(arrayListOf())
    private var raga = "All"

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {

        Log.d(TAG, "onCreateView called")

        return inflater.inflate(R.layout.fragment_songs, container, false)
    }

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

        Log.d(TAG, "onViewCreated called")



        val context: FragmentActivity? = activity

        (activity as …
Run Code Online (Sandbox Code Playgroud)

android viewmodel kotlin

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

RecyclerView 项目未正确显示

在我的项目中,我已经按照我的预期使用了RecyclerViewwhich 显示,layout-preview但问题是当我运行applicationin emulator/未显示device的项目时。RecyclerViewlayout-preview

这是recyclerview的XML。

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context=".view.LActivity">

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:listitem="@layout/rv_sample" />
    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:layout_width="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        android:src="@drawable/ic_add"
        android:id="@+id/fabAdd"
        app:tint="@color/white"
        app:backgroundTint="@color/colorPrimary"
        android:layout_marginEnd="5dp"
        android:layout_marginBottom="5dp"
        app:layout_constraintRight_toRightOf="parent"
        android:layout_height="wrap_content"/>


</androidx.constraintlayout.widget.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

recyclerview 项目的 XML。

<com.google.android.material.card.MaterialCardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="5dp"
        app:cardCornerRadius="10dp"
        android:minHeight="60dp"
        app:cardUseCompatPadding="true"
        app:strokeColor="@color/design_default_color_secondary_variant"
        app:strokeWidth="1dp">

        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_gravity="center"
            android:layout_height="wrap_content">

            <TextView
                android:id="@+id/tvWord"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="5dp"
                android:layout_marginEnd="10dp"
                android:drawableStart="@drawable/arrow_right"
                android:fontFamily="monospace"
                android:text="@{item.word}"
                android:textSize="18sp"
                android:textStyle="bold"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

            <TextView
                android:id="@+id/tvType"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@{item.type}"
                android:layout_marginEnd="10dp"
                app:layout_constraintRight_toRightOf="parent" …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-recyclerview androidx

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