MainActivity.kt
package com.cfsuman.kotlintutorials
import android.os.Bundle
import android.text.method.ScrollingMovementMethod
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// get the widgets reference from XML layout
val textView = findViewById<TextView>(R.id.textView)
// make textview content scrollable
textView.movementMethod = ScrollingMovementMethod()
val string = "Lorem Ipsum is simply dummy text of the" +
" printing and typesetting industry. Lorem Ipsum" +
" has been the industry's standard dummy text" +
" ever since the 1500s."
textView.text = string
// The end index of the range is included
// in the part to be replaced.
val result = string.replaceRange(
25..100, // range
" replaced string " // replacement
)
textView.append("\n\n\n")
textView.append("Replace range (25..100) with " +
"( replaced string )...\n\n")
textView.append(result)
/*
documentation source kotlinlang.org
Replaces the part of the string at the given
range with the replacement char sequence.
startIndex - the index of the first character to be replaced.
endIndex - the index of the first character after
the replacement to keep in the string.
*/
val result2 = string.replaceRange(
40, // start index
125, // end index
" new string " // replacement
)
textView.append("\n\n\n")
textView.append("Replace (start index 40 end index" +
" 125) with ( new string )...\n\n")
textView.append(result2)
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F8F8F8"
android:padding="24dp">
<TextView
android:id="@+id/textView"
android:layout_width="0dp"
android:layout_height="0dp"
android:fontFamily="sans-serif"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>