Penampakannya sbb:
Saat kita menekan tombol menu akan muncul tampilan ADD New Data
listbasic.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">
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
listitembasic.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="wrap_content"
android:orientation="vertical" >
<!-- txtdata1 - akan di sembunyikan - digunakan untuk mengirim variabel ke activity lain -->
<TextView
android:id="@+id/txtdata1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
<!-- Name Label -->
<TextView
android:id="@+id/txtdata2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="6dip"
android:paddingLeft="6dip"
android:textSize="17dip"
android:textStyle="bold" />
<!-- txtdata3- akan di sembunyikan - digunakan untuk mengirim variabel ke activity lain -->
<TextView
android:id="@+id/txtdata3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
</LinearLayout>
mahasiswalist.java
package com.lp2m.crudjson;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.http.NameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.lp2m.crudjson.R;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
public class MahasiswaList extends ListActivity {
String ip="";
private ProgressDialog pDialog;
JSONParser jParser = new JSONParser();
JSONArray myJSON = null;
ArrayList<HashMap<String, String>> arrayList;
private static final String TAG_SUKSES = "sukses";
private static final String TAG_record = "record";
private static final String TAG_kode_mahasiswa = "kode_mahasiswa";
private static final String TAG_nama = "nama";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listbasic);
arrayList = new ArrayList<HashMap<String, String>>();
ip=jParser.getIP();
new load().execute();
ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
String pk = ((TextView) view.findViewById(R.id.txtdata1)).getText().toString();
Intent i = new Intent(getApplicationContext(), Mahasiswa.class);
i.putExtra("pk", pk);
startActivityForResult(i, 100);
}});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == 100) {// jika result code 100
Intent intent = getIntent();
finish();
startActivity(intent);
}
}
class load extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(MahasiswaList.this);
pDialog.setMessage("Load data. Silahkan Tunggu...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
}
protected String doInBackground(String... args) {
List<NameValuePair> params = new ArrayList<NameValuePair>();
JSONObject json = jParser.makeHttpRequest(ip+"mahasiswa_show.php", "GET", params);
Log.d("show: ", json.toString());
try {
int sukses = json.getInt(TAG_SUKSES);
if (sukses == 1) {
myJSON = json.getJSONArray(TAG_record);
for (int i = 0; i < myJSON.length(); i++) {
JSONObject c = myJSON.getJSONObject(i);
String kode_mahasiswa= c.getString(TAG_kode_mahasiswa);
String nama = c.getString(TAG_nama);
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_kode_mahasiswa, kode_mahasiswa);
map.put(TAG_nama, nama);
arrayList.add(map);
}
} else {
Intent i = new Intent(getApplicationContext(),Mahasiswa.class);
i.putExtra("pk", "");
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
}
catch (JSONException e) {e.printStackTrace();}
return null;
}
protected void onPostExecute(String file_url) {
pDialog.dismiss();
runOnUiThread(new Runnable() {
public void run() {
ListAdapter adapter = new SimpleAdapter(MahasiswaList.this, arrayList,R.layout.listitembasic, new String[] { TAG_kode_mahasiswa,TAG_nama},new int[] { R.id.txtdata1, R.id.txtdata2});
setListAdapter(adapter);
}
});}
}
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 1, 0, "Add New").setIcon(R.drawable.add);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
Intent i = new Intent(getApplicationContext(), Mahasiswa.class);
i.putExtra("pk", "");
startActivityForResult(i, 100);
return true;
}
return false;
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
}



Tidak ada komentar:
Posting Komentar