Java, Android, MySQL, PHP, HTML

Android - Cara Pindah Activity dengan Menggunakan Intent

Disini saya akan menjelaskan cara pindah dari satu Activity ke Activity lainnya dengan menggunakan Intent. Mungkin dari teman-teman yang sedang belajar Android masih belum tau bagaimana cara berpindah-pindh form (kalo di delphi namanya form, GUI di Java).
Apa itu Intent?

Intent mempunyai deskripsi abstrack dari operasi yang akan dilakukan . Intent dapat digunakan dengan startActivity untuk memanggil Activity baru, broadcastIntent untuk mengirimkan broadcastReceiver dan startService atau bindService untuk berkomunikasi dengan layanan latar belakang.

Untuk kali ini saya menulis tentang intent dasar untuk pindah Activity saja. Intinya seperti ini :

Intent intent = new Intent(ActivitySaatIni.this, ActivityYangDituju.class);
startActivity(intent);
Siapkan 2 buat layout :
  1. activity_main.xml
  2. acitivity_second.xml
Siapkan 2 class java :
  1. MainActivity.java
  2. SecondActivity.java
Baca juga (Cara Penulisan Nama Class di Java Android, Attribute, Layout dan Method)

kode xml untuk activity_main.xml, seperti ini :

<?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: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="com.example.putuguna.projecttesting.MainActivity">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:textAllCaps="true"
        android:text="Hello World! I am in the First Activity" />

    <Button
        android:id="@+id/btn_start"
        android:layout_width="match_parent"
        android:text="Start"
        android:layout_height="wrap_content" />

</RelativeLayout>
untuk activity_second.xml, seperti ini :

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

    <TextView
        android:layout_weight="1"
        android:id="@+id/second_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="HALLO YOU ARE IN THE SECOND ACTIVITY"
        android:gravity="center"/>

    <Button
        android:id="@+id/btn_back"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Back"/>

</LinearLayout>
Setelah kita membuat layout, sekarang kita persiapkan class.java nya. Buatkan onClick pada button yang akan digunakan untuk memanggil Activity baru. Kodingan untuk MainActivity.java

package com.example.putuguna.projecttesting;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    private Button mButtonStart;

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

        //kita ambil ID yang Button
        mButtonStart = (Button) findViewById(R.id.btn_start);


        //kita set onClick si button start
        // setelah kita set onClick si Button start, kita pergi ke
        // Activity selanjutnya dengan bantuan INTENT

        mButtonStart.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, SecondActivity.class); // dari MainActivity/posisi saat ini ke SecondActivity
                startActivity(intent);
            }
        });
    }
}
Hal yang sama juga dilakukan di SecondActivity.java

package com.example.putuguna.projecttesting;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;

/**
 * Created by putuguna on 17/06/16.
 */
public class SecondActivity extends AppCompatActivity{

    private Button mBtnBack;

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

        //Ambil ID si Button Back
        mBtnBack = (Button) findViewById(R.id.btn_back);

        //Set on CLick si Button Back
        mBtnBack.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onBackPressed();
                /*
                kalo untuk memanggil activity baru (yang sifatnya maju) kita pakai Intent
                tapi, kalau kita memanggil Activity yang sebelumnya (1 ACTIVITY DIBELAKANG POSISI SAAT INI) gunakan saja
                onBackPressed()
                 */
            }
        });
    }
}


Ketika akan kembali ke Activity sebelumnya menggunakan button (bukan dengan tombol back di handphone) cukup gunakan onBackPressed()
onBackPressed() adalah sebuah method yang berfungsi untuk mengembalikan hanya activity sebelumnya (kira-kira begitulah pengertian simplenya)
 OK, sekian tutorial kali ini, jika ada pertanyaan bisa tempatkan di kolom komentar dibawah. Happy coding!! have fun!!
7 Comment(s) for "Android - Cara Pindah Activity dengan Menggunakan Intent "

permisi mau tanya maksudnya onClick(View v) itu apa yah, makasihh!!

Itu adalah method bawaan yang di override saat kita men-set onClickListener pada sebuah view.

Saat suatu view di click, proses yang akan terjadi, dilakukan di dalam method onClick(View v)

Kak kalau error E
rror:(552, 69) String types not allowed (at 'activity_horizontal_margin' with value '').

itu kenapa ya ?? thx

Sorry telat balasnya, kemarin lagi sibuk projectan.

Ada banyak banyak sebab mas, coba research disini : https://www.google.com/search?client=ubuntu&channel=fs&q=String+types+not+allowed&ie=utf-8&oe=utf-8

bang, kalo itukan 2 activity doang yah, kalo misalkan mau lebih dari 2 gimana tuh bang? misalkan saya ada 4 xml berarti harus bikin 4 java?

iya gan, setiap activity/fragment harus mempunyai layout xml sebagai User Interface.

bang mau tanya, klo aplikasi nya tertutup pas tekan button start kenapa ya, ada pesan "sayangnya, blabla bla telah berhenti"

Please post a polite comment and do not post a spam

Back To Top
close