We are going to create a spinner control for providing the user some options and hit a submit button.
Here’s main.xml which defines the UI.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Spinner
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/application_array"
android:prompt="@string/app_prompt" />
<Button
android:id="@+id/btnSubmit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit"
android:onClick="btnSubmitOnClick"/>
</LinearLayout>
Spinner control requires a string array (application_array) for it’s entries which is defined in strings.xml.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">callingsystemapps</string>
<string name="app_prompt">Choose a application</string>
<string-array name="application_array">
<item>Browser</item>
<item>Dialler</item>
<item>Map</item>
<item>Contacts</item>
</string-array>
</resources>
In main.xml we have also have defined onClick method btnSubmitOnClick which is defined in MyActivity.java
public void btnSubmitOnClick (View v)
{
Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
if (spinner1.getSelectedItem().toString().equals("Browser")){
Intent i = new
Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("http://www.google.com"));
startActivity(i);
}
else if (spinner1.getSelectedItem().toString().equals("Dialler")){
Intent i = new
Intent(android.content.Intent.ACTION_DIAL);
startActivity(i);
}
else if (spinner1.getSelectedItem().toString().equals("Map")) {
Intent i = new
Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("geo:37.827500,-122.481670"));
startActivity(i);
}
else if (spinner1.getSelectedItem().toString().equals("Contacts")) {
Intent i = new
Intent(android.content.Intent.ACTION_PICK);
i.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);
startActivity(i);
}
Only difference between the four is the passing intent which is as below:
ACTION_VIEW
ACTION_DIAL
ACTION_PICK
Along with that we are passing parameters depending upon intent type. After that it’s just calling startActivity on the intent.
Try running the example and you shall get like this.