Android Working with Radio Buttons

activity_main.xml

    <RadioGroup
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="15dp"
        android:id="@+id/radioGroupFruits">


        <RadioButton
            android:text="@string/apple"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/textView"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:id="@+id/radioButtonApple"
            android:onClick="radioButton_onClick"/>

        <RadioButton
            android:text="@string/orange"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/radioButtonApple"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:id="@+id/radioButtonOrange"
            android:onClick="radioButton_onClick"/>

        <RadioButton
            android:text="@string/banana"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/radioButtonOrange"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:id="@+id/radioButtonBanana"
            android:onClick="radioButton_onClick"/>
    </RadioGroup>

MainActivity.java

    TextView textViewResult;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textViewResult=(TextView) findViewById(R.id.textViewResult);
    }

    protected void radioButton_onClick(View view)
    {
        Boolean checked=((RadioButton) view).isChecked();
        RadioButton selected=(RadioButton) view;

        switch (selected.getId())
        {
            case R.id.radioButtonApple:

                if (checked)
                {
                    textViewResult.setText("Apple");
                }

                break;
            case R.id.radioButtonOrange:

                if (checked)
                {
                    textViewResult.setText("Orange");
                }

                break;
            case R.id.radioButtonBanana:

                if (checked)
                {
                    textViewResult.setText("Banana");
                }

                break;
        }

    }

References
https://www.youtube.com/watch?v=fGF6lWjJ9Os&index=14&list=PLshdtb5UWjSp0879mLeCsDQN6L73XBZTk
https://github.com/mhdr/AndroidSamples/tree/master/009

Android Working with Checkboxes

activity_main.xml

<CheckBox
        android:text="@string/banana"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/checkBoxOrange"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/checkBoxBanana"
        android:onClick="CheckBox_onClick"/>

MainActivity.java

    protected void  CheckBox_onClick(View view)
    {
        Boolean checked=((CheckBox) view).isChecked();
        int selectedId=view.getId();

        switch (selectedId)
        {
            case R.id.checkBoxApple:
                if (checked)
                {
                    selectedFruits.add("Apple");
                }
                else {
                    selectedFruits.remove("Apple");
                }
                break;
            case R.id.checkBoxOrange:
                if (checked)
                {
                    selectedFruits.add("Orange");
                }
                else {
                    selectedFruits.remove("Orange");
                }
                break;
            case R.id.checkBoxBanana:
                if (checked)
                {
                    selectedFruits.add("Banana");
                }
                else {
                    selectedFruits.remove("Banana");
                }
                break;
        }


        String selected="";

        for (String f:selectedFruits)
        {
            selected +=f + "\r\n";
        }

        textViewResult.setText("");
        textViewResult.setText(selected);
    }

References
https://www.youtube.com/watch?v=NGRV2qY9ZiU&index=13&list=PLshdtb5UWjSp0879mLeCsDQN6L73XBZTk
https://github.com/mhdr/AndroidSamples/tree/master/008

Android Working with AutoCompleteTextView

re => strings.xml

<resources>
    <string name="app_name">007</string>

    <string-array name="city_names">
        <item>Rasht</item>
        <item>Tehran</item>
        <item>Karaj</item>
        <item>Tabriz</item>
        <item>Mashad</item>
        <item>Sari</item>
        <item>Shiraz</item>
        <item>Ahvaz</item>
    </string-array>
</resources>

MainActivity.java

AutoCompleteTextView autoCompleteTextViewCities;
    String[] cities;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        autoCompleteTextViewCities= (AutoCompleteTextView) findViewById(R.id.autoCompleteTextViewCities);

        cities=getResources().getStringArray(R.array.city_names);


        ArrayAdapter<String> arrayAdapterCities=new ArrayAdapter<>(this, android.R.layout.simple_list_item_1,cities);

        autoCompleteTextViewCities.setAdapter(arrayAdapterCities);
    }

References
https://www.youtube.com/watch?v=dEhE9MMR7mg&list=PLshdtb5UWjSp0879mLeCsDQN6L73XBZTk&index=12https://github.com/mhdr/AndroidSamples/tree/master/007

Android Specifying the Keyboard Layout of EditText

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="iterator.ir.a006.MainActivity">

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:ems="10"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/editText"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:hint="Text" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textEmailAddress"
        android:ems="10"
        android:layout_below="@+id/editText"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="20dp"
        android:id="@+id/editText2"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:hint="Email"/>

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="time"
        android:ems="10"
        android:layout_below="@+id/editText2"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="33dp"
        android:id="@+id/editText3"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:hint="Time"/>

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="date"
        android:ems="10"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/editText4"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:hint="Date"/>

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:ems="10"
        android:layout_below="@+id/editText4"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="33dp"
        android:id="@+id/editText5"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:hint="Number"/>
</RelativeLayout>

References
https://github.com/mhdr/AndroidSamples/tree/master/006

Android Input Controls – Buttons

main_activity.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="iterator.ir.a004.MainActivity">

    <Button
        android:text="Button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/button" />

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/ic_alarm_black_24dp"
        android:layout_below="@+id/button"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginLeft="10dp"
        android:layout_marginStart="10dp"
        android:id="@+id/imageButton" />

    <Button
        android:text="Button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/button2"
        android:layout_below="@+id/imageButton"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:drawableLeft="@drawable/ic_alarm_black_24dp" />
</RelativeLayout>

References
https://www.youtube.com/watch?v=EJ43o11ynGg&list=PLshdtb5UWjSp0879mLeCsDQN6L73XBZTk&index=9
https://github.com/mhdr/AndroidSamples/tree/master/004