More GUI control on Android

Let say you are to design an data interface to retrieve Name, Gender and States in Malaysia.
We are using the LinearLayout to create the simple GUI interface.
EditView RadioGroup Spinner Android example

The GUI XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Nama"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <EditText
        android:id="@+id/txtnama"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPersonName" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Jantina"
        android:textAppearance="?android:attr/textAppearanceLarge" />
 
    <RadioGroup
        android:id="@+id/rjantina"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
 
        <RadioButton
            android:id="@+id/rlelaki"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Lelaki" 
            android:checked="true" />
 
        <RadioButton
            android:id="@+id/rperempuan"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Perempuan" />
 
    </RadioGroup>

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Negeri"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <Spinner
        android:id="@+id/listnegeri"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/btnsimpan"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Simpan" />
 
</LinearLayout>

JAVA code

package com.example.moregui;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.Toast;

public class MoreGUIs extends Activity implements OnClickListener {
    
    //guis
    private EditText txtnama;
    private RadioGroup rgjantina;
    private RadioButton rbjantina;
    private Spinner listnegeri;
    private Button btnsimpan;
    private int selectedId;
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_more_guis);
        
        //create edittext
        txtnama = (EditText)findViewById(R.id.txtnama);
        
        //create radio group
        rgjantina = (RadioGroup) findViewById(R.id.rjantina);
        // get selected radio button from radioGroup
        selectedId = rgjantina.getCheckedRadioButtonId();
        
        //create spinner / list
        listnegeri= (Spinner) findViewById(R.id.listnegeri);
        List<String> list = new ArrayList<String>();
        //add list here
        list.add("Johor");
        list.add("Melaka");
        list.add("N. Sembilan");
        //incorporate list into the spinner
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, list);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        listnegeri.setAdapter(dataAdapter);
        
        //create btnsimpan
        btnsimpan = (Button) findViewById(R.id.btnsimpan);
        btnsimpan.setOnClickListener(this);
        
    }

    @Override
    public void onClick(View arg0) {
        // fetch name
        String nama=txtnama.getText().toString();
        // fetch the radiobutton by returned id
        rbjantina = (RadioButton) findViewById(selectedId);
        String jantina=rbjantina.getText().toString();
        //fetch negeri
        String negeri=listnegeri.getSelectedItem().toString();
        Toast.makeText(this, "Nama:"+nama+" - Jantina:"+jantina+" - Negeri:"+negeri, 
                Toast.LENGTH_SHORT).show();
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_more_guis, menu);
        return true;
    }
}

Popular Posts