修复某些模板加载时程序崩溃的问题。添加minVersion编辑框。
This commit is contained in:
parent
b614503b0d
commit
7686687c27
|
@ -27,6 +27,7 @@ class TemplateParserViewModel : BaseViewModel() {
|
|||
private var jsonData: JSONObject? = null
|
||||
private var template: Template? = null
|
||||
private lateinit var arrayList: ArrayList<TemplateParser>
|
||||
|
||||
//文件输出目录
|
||||
private var outPutPath: String? = null
|
||||
|
||||
|
@ -58,7 +59,12 @@ class TemplateParserViewModel : BaseViewModel() {
|
|||
* @return String
|
||||
*/
|
||||
fun getCode(): String {
|
||||
try {
|
||||
return jsonData?.getString("data") ?: ""
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -175,13 +181,13 @@ class TemplateParserViewModel : BaseViewModel() {
|
|||
* @return ArrayList<TemplateParser>
|
||||
*/
|
||||
fun getTemplateParserList(context: Context): ArrayList<TemplateParser> {
|
||||
if (this::arrayList.isInitialized)
|
||||
{
|
||||
if (this::arrayList.isInitialized) {
|
||||
LogCat.d("获取模板解析器", "已经被调用了一次,返回成员变量")
|
||||
return arrayList
|
||||
}
|
||||
arrayList = ArrayList()
|
||||
val gson = Gson()
|
||||
try {
|
||||
val jsonArray = jsonData?.getJSONArray("action")
|
||||
if (jsonArray == null) {
|
||||
LogCat.e("获取模板解析器", "此模板没有action,无法读取。")
|
||||
|
@ -226,6 +232,12 @@ class TemplateParserViewModel : BaseViewModel() {
|
|||
}
|
||||
return arrayList
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
LogCat.e("获取模板解析器", "解析action出错$e。")
|
||||
return arrayList
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -70,11 +70,27 @@
|
|||
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<Button
|
||||
android:id="@+id/createbutton"
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:id="@+id/minVersionInputLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
app:counterEnabled="true"
|
||||
android:layout_below="@id/modDescribeInputLayout"
|
||||
app:counterMaxLength="20"
|
||||
style="@style/Widget.Material3.TextInputLayout.OutlinedBox.ExposedDropdownMenu">
|
||||
|
||||
<com.google.android.material.textfield.MaterialAutoCompleteTextView
|
||||
android:layout_width="match_parent"
|
||||
android:hint="@string/minVersion"
|
||||
android:layout_height="wrap_content" />
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<Button
|
||||
android:id="@+id/createbutton"
|
||||
android:layout_below="@id/minVersionInputLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/create" />
|
||||
|
||||
|
||||
|
|
|
@ -140,6 +140,7 @@
|
|||
android:orientation="horizontal">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_marginTop="8dp"
|
||||
android:id="@+id/numberLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="46dp">
|
||||
|
|
|
@ -955,4 +955,5 @@
|
|||
<string name="search_type_template_package">模板包</string>
|
||||
<string name="public_mod">公开</string>
|
||||
<string name="private_mod">私有</string>
|
||||
<string name="minVersion">最低游戏版本</string>
|
||||
</resources>
|
|
@ -52,11 +52,17 @@ data class WebTemplateData(
|
|||
}
|
||||
|
||||
override fun getName(language: String): String {
|
||||
try {
|
||||
return if (getJson().has("name_$language")) {
|
||||
return getJson().getString("name_$language")
|
||||
} else {
|
||||
return getJson().getString("name")
|
||||
}
|
||||
}catch (e:Exception){
|
||||
e.printStackTrace()
|
||||
return "Unknown"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
override fun getIcon(): Any? {
|
||||
|
|
Loading…
Reference in New Issue
Block a user