Accessing widget
1. To access a widget, we don't need to write findViewById. We can directly access with id.
IMPORTED CLASS
-----------------------
import kotlinx.android.synthetic.main.activity_main.*
-----------------------LAYOUT
-----------------------
<TextView android:id="@+id/selectedFoodTxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="India" />-----------------------
JAVA
-----------------------
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) selectedFoodTxt.text = "USA" } }-----------------------
2. Button - Let us create a button click event
LAYOUT
-----------------------
<Button android:id="@+id/decideBtn"
android:layout_width="0dp"
android:layout_height="wrap_content" android:text="Decide!" />-----------------------
JAVA
-----------------------
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) decideBtn.setOnClickListener{ } } }-----------------------
3. LET US CREATE A PROGRAM - We will add a random value to list.
LAYOUT
--------------------------------
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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"
tools:context=".MainActivity"> <ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="48dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/dd_logo" /> <TextView
android:id="@+id/selectedFoodTxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:text="Chinese"
android:textColor="@color/colorPrimaryDark"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView" /> <Button
android:id="@+id/decideBtn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:fontFamily="@font/muli_bold"
android:text="Decide!"
android:textColor="@color/colorWhite"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" /> <EditText
android:id="@+id/addFoodTxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
android:ems="10"
android:hint="Enter new food..."
android:inputType="textPersonName"
android:textColorHint="@color/colorPrimary"
app:layout_constraintBottom_toTopOf="@+id/addFoodBtn"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" /> <Button android:id="@+id/addFoodBtn"
style="?android:attr/borderlessButtonStyle"
android:layout_width="217dp"
android:layout_height="wrap_content"
android:layout_marginBottom="72dp"
android:background="@color/colorPrimary"
android:fontFamily="@font/muli_bold"
android:text="ADD FOOD"
android:textAlignment="center"
android:textColor="@color/colorWhite"
android:textSize="16sp"
app:layout_constraintBottom_toTopOf="@+id/decideBtn"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.503"
app:layout_constraintStart_toStartOf="parent" /> </android.support.constraint.ConstraintLayout>--------------------------------
JAVA
--------------------------------
import android.support.v7.app.AppCompatActivity import android.os.Bundle import kotlinx.android.synthetic.main.activity_main.* import java.util.* class MainActivity : AppCompatActivity() { val foodList = arrayListOf<String>("Chenese", "Pizza", "HamBurger", "MacDonalds", "Barros Pizza") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) selectedFoodTxt.text = "USA" decideBtn.setOnClickListener{ val random = Random() val randomFood = random.nextInt(foodList.count()) selectedFoodTxt.text = foodList[randomFood] } addFoodBtn.setOnClickListener{ val newFood = addFoodTxt.text.toString() foodList.add(newFood) addFoodTxt.text.clear() print(foodList) } } }--------------------------------
4. aa
Comments
Post a Comment