我正在制作这个应用程序,其中包含 ScrollView 线性布局中的 1000 个链接,复选框中的文本如下所示 ---> 链接 1
现在我希望它在单击时打开特定链接,并且复选框在 15 秒后立即获得一个勾号。我怎样才能在 Kotlin 中做到这一点?
这是我的主要 Activity
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.Parcel
import android.os.Parcelable
class MainActivity() : AppCompatActivity(), Parcelable {
constructor(parcel: Parcel) : this() {
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
override fun writeToParcel(parcel: Parcel, flags: Int) {
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<MainActivity> {
override fun createFromParcel(parcel: Parcel): MainActivity {
return MainActivity(parcel)
}
override fun newArray(size: Int): Array<MainActivity?> {
return arrayOfNulls(size)
}
}
}
这是我的 xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/scrollview"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="72dp">
<ImageView
android:id="@+id/imageView6"
android:layout_width="match_parent"
android:layout_height="68sp"
android:contentDescription="@string/todo"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/untitled_1" />
<ImageView
android:id="@+id/imageView"
android:layout_width="92dp"
android:layout_height="64dp"
android:layout_marginTop="4dp"
android:layout_marginEnd="40dp"
android:contentDescription="@string/todo"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/wallet_icon_final" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="49dp"
android:layout_height="45dp"
android:layout_marginTop="10dp"
app:layout_constraintStart_toStartOf="@+id/imageView6"
app:layout_constraintTop_toTopOf="@+id/imageView6"
app:srcCompat="@drawable/rupee_icon"
android:contentDescription="@string/todo" />
</androidx.constraintlayout.widget.ConstraintLayout>
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
<CheckBox
android:layout_width="177dp"
android:layout_height="wrap_content"
android:text="@string/Link"
android:textSize="24sp" />
<View
android:layout_width="178dp"
android:layout_height="9dp"
android:background="?android:attr/listDivider" />
</LinearLayout>
</ScrollView>
最佳答案
使您的文本可跨越字符串。
SpannableString string = new SpannableString("Text with a url span");
string.setSpan(new URLSpan("http://www.developer.android.com"), 12, 15, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
yourCheckbox.setText(string);
https://developer.android.com/reference/android/text/style/URLSpan
关于java - 在 Android Studio(KOTLIN) 中使复选框的文本成为可点击的链接,从而打开某个网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62339348/