Membuat Menu Lebih Dari Satu - Sri indri

Latest

Sedikit Lebih Beda, Lebih Baik Daripada Sedikit Lebih Baik

Pengikut

Kamis, 14 Februari 2019

Membuat Menu Lebih Dari Satu


Membuat Menu Lebih dari Satu
  1. buatlah project baru dengan nama BanyakMenu
  2. buatlah file xml dengan nama menu1.xml, menu2.xml, menu3.xml
  3. buatlah file java dengan nama HitungMenu1.java, HitungMenu2.java, HitungMenu3.java
  4. buatlah file CreateMenuBanyak.java yang berisi code untuk mengatur tampilan menu-menu

menu1.xml, menu2.xml, menu3.xml,

<?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"
    >
<TextView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    />
    <Button android:text="Kembali ke Menu" android:id="@+id/btnBack" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="backtoMenu"></Button>
</LinearLayout>

Buat file di source dengan nama HitungMenu1.java, HitungMenu2.java, HitungMenu3.java (sesuaikan dengan file java tersebut)

package com.menu;

import android.app.Activity;
import android.os.Bundle;

public class HitungMenu1 extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.menu1);
    }
}

Daftarkan pada AndroidManifest.xml agar dikenali activity nya


AndroidMAnifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.menu"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="4" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".createMenuBanyak"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
       
         <activity android:name="HitungMenu1" android:label="ini menu1">
        </activity>
         <activity android:name="HitungMenu2" android:label="ini menu2">
        </activity>
         <activity android:name="HitungMenu3" android:label="ini menu3">
        </activity>
       

    </application>
</manifest>


Buatlah file java yang berisi code mengatur susunan menu

Dalam project ini nama file: createMenuBanyak.java

package com.menu;

//import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
//import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class createMenuBanyak extends ListActivity {

            /**
             * Called when the activity is first created. Method ini akan dipanggil pada
             * saat aplikasi dijalankan
             */
            public void onCreate(Bundle icicle) {
                        super.onCreate(icicle);

                        // Create an array of Strings, that will be put to our ListActivity
                        String[] bangundatar = new String[] { "ini menu1", "ini menu2",
                                                "ini menu3", "Exit" };
                        // Create an ArrayAdapter, that will actually make the Strings above
                        // appear in the ListView
                        // Menset nilai array ke dalam list adapater sehingga data pada array
                        // akan dimunculkan dalam list
                        this.setListAdapter(new ArrayAdapter<String>(this,
                                                android.R.layout.simple_list_item_1, bangundatar));
            }


            @Override
            /**method ini akan mengoveride method onListItemClick yang ada pada class List Activity
             * method ini akan dipanggil apabilai ada salah satu item dari list menu yang dipilih
             */
            protected void onListItemClick(ListView l, View v, int position, long id) {
                        super.onListItemClick(l, v, position, id);
                        // Get the item that was clicked
                        // Menangkap nilai text yang dklik
                        Object o = this.getListAdapter().getItem(position);
                        String pilihan = o.toString();
                        // Menampilkan hasil pilihan menu dalam bentuk Toast
                        tampilkanPilihan(pilihan);
            }

            /**
             * Tampilkan Activity sesuai dengan menu yang dipilih
             *
             */
            protected void tampilkanPilihan(String pilihan) {
                        try {
                                    //Intent digunakan untuk sebagai pengenal suatu activity
                                    Intent i = null;
                                    if (pilihan.equals("ini menu1")) {
                                                i = new Intent(this, HitungMenu1.class);
                                    } else if (pilihan.equals("ini menu2")) {
                                                i = new Intent(this, HitungMenu2.class);
                                    } else if (pilihan.equals("menu3")) {
                                                i = new Intent(this, HitungMenu3.class);
                                    } else if (pilihan.equals("Exit")) {
                                                finish();
                                    } else {
                                                Toast.makeText(this,"Anda Memilih: " + pilihan + " , Actionnya belum dibuat", Toast.LENGTH_LONG).show();
                                    }
                                    startActivity(i);


                        } catch (Exception e) {
                                    e.printStackTrace();
                        }
            }
}





















Tidak ada komentar:

Posting Komentar