Pada permulaan Tutorial Level 3 ini kita akan membuat ListView dan Adapternya.
Kita mulai dari melakukan navigasi ke res/layout, dan buatlah sebuat layout resource file baru dengan file name activity_listview dan Root LinearLayout, lantas klik OK. Setelah itu seperti biasa pindahlah ke Text Tab dan masukan kode berikut :
<?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">
<ListView
android:id="@+id/list1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"></ListView>
</LinearLayout>
Di sana kita definisikan ListView baru dengan id list1. Sekarang pindahlah ke MainActivity anda dan buatlah Activity anda menjadi seperti berikut :
package com.example.aplikasimobile.aplikasimobile;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import java.util.ArrayList;
public class MainActivity extends ActionBarActivity {
//tambahkan global variable
ArrayList<String> mArrayList;
ArrayAdapter<String> mAdapter;
ListView mListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listview);
//1.inisiasi listview
mListView = (ListView) findViewById(R.id.list1);
//2.inisiasi ArrayList sebagai wadah dari List kita
mArrayList = new ArrayList<String>();
//3.Inisiasi Adapter
mAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,mArrayList);
//4.Set Adapter
mListView.setAdapter(mAdapter);
//5.Coba isi data
mArrayList.add("Apple");
mArrayList.add("Windows");
mArrayList.add("Linux");
mArrayList.add("Android");
mArrayList.add("iOS");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Silakan run. Anda akan mendapati hal seperti berikut :
Langkah selanjutnya adalah membuat supaya ListView kita dapat kita klik untuk membuka Activity baru.
Tambahkan
mListView.setOnItemClickListener(this);
pada metode onCreate pada MainActivity anda. Kata-kata this akan mengalami error seperti pada tutorial sebelumnya. Double klik pada this dan pilih menu "MainActivity' implement 'android.widget.AdapaterView.OnItemClickListener'. Lantas klik OK pada pop up. Fungsi onItemClick akan dibuat secara otomatis.
Selanjutnya isi kode berikut ke dalam fungsi onItemClick yang dibuat secara otomatis :
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(this,SecondActivity.class);
String txt = (String) mArrayList.get(position);
intent.putExtra("name", txt);
startActivity(intent);
}
Nah sekarang Item dari List akan dapat di klik untuk berpindah ke SecondActivity. Perhatikan kode
intent.putExtra("name",txt);
. Kode ini dipergunakan untuk mengirimkan data yang bisa dipergunakan pada Activity penerima, disini adalah SecondActivity.
Sekarang kita akan buat supaya SecondActivity dapat menampilkan data yang dikirim oleh MainActivity. Masukkan kode berikut ke SecondActivity Anda :
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.secondactivity_layout);
text2 = (TextView) findViewById(R.id.text2);
// dari tutorial sebelumnya
//text2.setText("Ini Second Activity");
//ambil putExtra
String name = this.getIntent().getExtras().getString("name");
text2.setText(name);
}
Yang terjadi disini adalah, kita mengambil data yang dikirim menggunakan metode
getExtras
dan memasukan data tersebut ke dalam variabel name, yang akhirnya kita print menggunakan setText
.
Sekarang mari kita run App kita.
Jika kita klik "Apple" akan membuka SecondActivity dengan isi "apple" pula. Nah, selamat anda sudah bisa membuat clickable List dengan Adapter dan Intent.
Topik kelanjutan dari tutorial ini adalah memanggil Web API dan memasukannya ke dalam ListView kita.
0 komentar:
Posting Komentar