Handling different Views in Android: There are different types of Views in Android.
They are 1) TextView
2) EditText
3) Button
4) RadioButton
5) CheckBox
6) Switch
7) ToggleButton | | | |
To work with all the above views, there are some common steps. They are
1) Create View in XML
2) Set id for the View
3) Identify the same View in Activity
4) Set appropriate listeners for each View.
The purpose of the listener is to identify the behavioral change in Views and events. So, whenever there is any change happened in View runtime, this listener tracks that and appropriate overridden method called.
The listeners for different views are as follows
-> For all the Views. Mainly for Buttons – OnClickListener -> RadioButton, RadioGroup, CheckBox, Switch, ToggleButton – OnCheckedChangedListener -> RatingBar – OnRatingBarChangeListener -> SeekBar – OnSeekBarChangeListener
| | |
Create an android application to work with different views in Android
Main XML file
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/text_textview" android:textSize="@dimen/text_size" /> <Button android:id="@+id/button" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/text_button" android:textSize="@dimen/text_size" /> <EditText android:id="@+id/editText" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="textPersonName" /> <ImageView android:id="@+id/imageView" android:layout_width="match_parent" android:layout_height="wrap_content" app:srcCompat="@mipmap/ic_launcher" /> <RadioButton android:id="@+id/radioButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="RadioButton" /> <CheckBox android:id="@+id/checkBox" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="CheckBox" /> <ToggleButton android:id="@+id/toggleButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="ToggleButton" /> <Switch android:id="@+id/switch1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Switch" /> <SeekBar android:id="@+id/seekBar" android:layout_width="match_parent" android:layout_height="wrap_content" /> <RatingBar android:id="@+id/ratingBar" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
Java file
package com.nareshit.handlingviews; import android.app.Activity; import android.os.Bundle; import android.support.annotation.Nullable; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.EditText; import android.widget.RadioButton; import android.widget.RatingBar; import android.widget.SeekBar; import android.widget.Switch; import android.widget.Toast; import android.widget.ToggleButton; /** * Created by nit on 7/31/2017. */ public class ViewsActivity extends Activity { Button button; EditText editText; RadioButton radioButton; CheckBox checkBox; ToggleButton toggleButton; Switch aSwitch; SeekBar seekBar; RatingBar ratingBar; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_views); button = (Button) findViewById(R.id.button); editText = (EditText) findViewById(R.id.editText); radioButton = (RadioButton) findViewById(R.id.radioButton); checkBox = (CheckBox) findViewById(R.id.checkBox); toggleButton = (ToggleButton) findViewById(R.id.toggleButton); aSwitch = (Switch) findViewById(R.id.switch1); seekBar = (SeekBar) findViewById(R.id.seekBar); ratingBar = (RatingBar) findViewById(R.id.ratingBar); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(ViewsActivity.this, "Button is clicked", Toast.LENGTH_LONG).show(); } }); radioButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { Toast.makeText(ViewsActivity.this, isChecked + "", Toast.LENGTH_LONG).show(); } }); checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { Toast.makeText(ViewsActivity.this, isChecked + "", Toast.LENGTH_LONG).show(); } }); toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { Toast.makeText(ViewsActivity.this, isChecked + "", Toast.LENGTH_LONG).show(); } }); aSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { Toast.makeText(ViewsActivity.this, isChecked + "", Toast.LENGTH_LONG).show(); } }); seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { Toast.makeText(ViewsActivity.this, progress + "", Toast.LENGTH_SHORT).show(); } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }); ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() { @Override public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { Toast.makeText(ViewsActivity.this, rating + "", Toast.LENGTH_LONG).show(); } }); } }