更新我的代码后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) 我试着把我的FAB放在Bottom屏幕的右侧。但每次我build的app,它总是会失败,AAPT error如果我使用的android:layout_gravity="bottom||end"
这是详细的错误:Android 资源链接失败
AAPT: 错误: 'bottom||end' 与属性 layout_gravity (attr) 标志不兼容 [bottom=80, center=17, center_horizontal=1, center_vertical=16, clip_horizontal=8, clip_vertical=128, end=8388613, fill= 119、fill_horizontal=7、fill_vertical=112、left=3、right=5、start=8388611、top=48]。
我试过使用android:layout_gravity="bottom"它,它工作得很好。
有人可以帮我弄这个吗?
我有三个带有底部导航栏的片段应用程序,我使用 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) 在我的项目中,我已经按照我的预期使用了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)