Selasa, 15 Agustus 2017

Apliaksi Pengenalan Tanaman Obat


Aplikasi Pengenalan Tanaman Obat

Halaman Loading



Menu Utama



Halaman Pencarian




Halaman Menu List Tanaman Obat



Halaman Detail1

Halaman Detail2


Link Ke Wikipedia



Loading.java +Listdatabase

package app.tanaman.obat;

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

public class Loading extends Activity {
int jd;
String[]arrNama;
String[]arrDes;
String[]arrKegunaan;
int[]arrGbr;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.loading);
DATATANAMAN();
LOADING();
    }
    public void LOADING(){
        new Thread() { 
     public void run() { 
        try{Thread.sleep(5000);} //5detik
        catch (Exception e) {} 
              Intent i = new Intent(Loading.this, menuUtama.class); 
              i.putExtra("arrNama", arrNama);
            i.putExtra("arrDes", arrDes);
            i.putExtra("arrKegunaan", arrKegunaan);
            i.putExtra("arrGbr", arrGbr);
              Loading.this.finish();
              startActivity(i);  
       } }.start();  
    }
    
    void DATATANAMAN(){
    jd=5;
    arrNama=new String[jd];
    arrDes=new String[jd];
    arrKegunaan=new String[jd];
    arrGbr=new int[jd];

    arrNama[0]="Kumis Kucing";
    arrKegunaan[0]="Diabetes Melitus";
    arrDes[0]="Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....";
    arrGbr[0]=R.drawable.logo;

    arrNama[1]="Daun Jambu Klutuk";
    arrKegunaan[1]="Diare";
    arrDes[1]="Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....";
    arrGbr[1]=R.drawable.logo;

    arrNama[2]="Daun Jarak";
    arrKegunaan[2]="Panas Tinggi";
    arrDes[2]="Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....";
    arrGbr[2]=R.drawable.logo;

    arrNama[3]="Alpukat";
    arrKegunaan[3]="Kencing Manis";
    arrDes[3]="Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....";
    arrGbr[3]=R.drawable.logo;

    arrNama[4]="Ketan Hitam";
    arrKegunaan[4]="Pembersih Jerawat";
    arrDes[4]="Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....Tanaman ini hidup di daerah Kering....bentuknya unik dan menarik juga warna yang menjadi ciri khas pengobatan herbal lho....";
    arrGbr[4]=R.drawable.logo;
    }

}

+++++++++++++++++

menuUtama.java

package app.tanaman.obat;

import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class menuUtama extends ListActivity {
String[]arrNama;
String[]arrDes;
String[]arrKegunaan;
int[]arrGbr;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle extras = getIntent().getExtras();
arrNama= extras.getStringArray("arrNama");
arrDes =extras.getStringArray("arrDes");
arrKegunaan= extras.getStringArray("arrKegunaan");
arrGbr= extras.getIntArray("arrGbr");
String[]arrMenu={"Daftar Tanaman","Pencarian","Profil","Bantuan","Keluar"};
setListAdapter(new ArrayAdapter<String>(this, R.layout.menuutama,arrMenu));
ListView listView = getListView();
listView.setTextFilterEnabled(true);

listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,int p, long id) {
Toast.makeText(getApplicationContext(),((TextView) view).getText(), Toast.LENGTH_SHORT).show();
if(p==0){
Intent i = new Intent(menuUtama.this, daftarObat.class); 
  i.putExtra("arrNama", arrNama);
          i.putExtra("arrDes", arrDes);
          i.putExtra("arrKegunaan", arrKegunaan);
          i.putExtra("arrGbr", arrGbr);
            startActivity(i);  
}
else if(p==1){
Intent i = new Intent(menuUtama.this, pencarianTanaman.class); 
  i.putExtra("arrNama", arrNama);
          i.putExtra("arrDes", arrDes);
          i.putExtra("arrKegunaan", arrKegunaan);
          i.putExtra("arrGbr", arrGbr);
            startActivity(i);  
}
else if(p==2){
Intent i = new Intent(menuUtama.this, Profil.class); 
            startActivity(i);  
}
else if(p==3){
Intent i = new Intent(menuUtama.this, Bantuan.class); 
            startActivity(i);  
}
else {
keluarYN();
}
}
});
}

//-------------------------------------------------------------------------------------------
      public void keluarYN(){
      AlertDialog.Builder ad=new AlertDialog.Builder(menuUtama.this);
              ad.setTitle("Konfirmasi");
              ad.setMessage("Apakah benar ingin keluar dari aplikasi  ???");
             
              ad.setPositiveButton("Yes",new OnClickListener(){
          public void onClick(DialogInterface dialog, int which) {
            finish();
      }});
             
              ad.setNegativeButton("No",new OnClickListener(){
          public void onClick(DialogInterface arg0, int arg1) {
          }});        
              ad.show();
      }
      public boolean onKeyDown(int keyCode, KeyEvent event) {
          if (keyCode == KeyEvent.KEYCODE_BACK) {
          finish();
                  return true;
          }
      return super.onKeyDown(keyCode, event);
  }    
}
+++++++++++++++++++++

daftarObat.java

package app.tanaman.obat;

import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class daftarObat extends ListActivity {
String[]arrNama;
String[]arrDes;
String[]arrKegunaan;
int[]arrGbr;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

Bundle extras = getIntent().getExtras();
arrNama= extras.getStringArray("arrNama");
arrDes =extras.getStringArray("arrDes");
arrKegunaan= extras.getStringArray("arrKegunaan");
arrGbr= extras.getIntArray("arrGbr");

setListAdapter(new ArrayAdapter<String>(this, R.layout.menuutama,arrNama));
ListView listView = getListView();
listView.setTextFilterEnabled(true);

listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,int p, long id) {
Toast.makeText(getBaseContext(), "Anda telah memilih no "+p+"="+ arrNama[p], Toast.LENGTH_LONG).show();
        Intent i = new Intent(daftarObat.this, Detail.class);
i.putExtra("nama", arrNama[p]);
i.putExtra("kegunaan", arrKegunaan[p]);
i.putExtra("deskripsi", arrDes[p]);
i.putExtra("gambar", arrGbr[p]);
startActivity(i);
}
});
}
      public boolean onKeyDown(int keyCode, KeyEvent event) {
          if (keyCode == KeyEvent.KEYCODE_BACK) {
          finish();
                  return true;
          }
      return super.onKeyDown(keyCode, event);
  }    
}
++++++++++++++

Detail.java
package app.tanaman.obat;

import java.util.Calendar;

import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.DialogInterface.OnClickListener;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

public class Detail extends Activity {
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.detail);

         Intent io = this.getIntent();
         String nama=io.getStringExtra("nama");
         String kegunaan=io.getStringExtra("kegunaan");
         String deskripsi=io.getStringExtra("deskripsi");
    int gambar=io.getIntExtra("gambar", R.drawable.logo);
   
        TextView txtNama=(TextView)findViewById(R.id.detailNamaTanaman);
        TextView txtKegunaan=(TextView)findViewById(R.id.detailKegunaan);
        TextView txtDeskripsi=(TextView)findViewById(R.id.isi);
        ImageView myGambar=(ImageView)findViewById(R.id.myGambar);
        
        txtNama.setText(nama);
        txtKegunaan.setText(kegunaan);
        txtDeskripsi.setText(deskripsi);
        myGambar.setImageResource(gambar);
        
        Button  btnKembali=(Button)findViewById(R.id.btnKembali);
        btnKembali.setOnClickListener(new View.OnClickListener() {
        public void onClick(View arg0) {
        finish();
        }});  
        
        
        Button  btnWikipedia=(Button)findViewById(R.id.btnWiki);
        btnWikipedia.setOnClickListener(new View.OnClickListener() {
        public void onClick(View arg0) {
        Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://id.wikipedia.org/wiki/Tanaman_obat_keluarga"));
        startActivity(browserIntent);
        }});  
        
    }
       
public boolean onKeyDown(int keyCode, KeyEvent event) {
         if (keyCode == KeyEvent.KEYCODE_BACK) {
          finish();
                 return true;
         }
     return super.onKeyDown(keyCode, event);
 }    
}

+++++++++++++++++++++++++++
pencarianTanaman .java

package app.tanaman.obat;
import java.util.ArrayList;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class pencarianTanaman extends Activity{
EditText edCari;
ListView listview;
Button btnCari;

int jd;
String[]arrNama;
String[]arrDes;
String[]arrKegunaan;
int[]arrGbr;

String[]arrNama2;
String[]arrDes2;
String[]arrKegunaan2;
int[]arrGbr2;

String[]arrNama3;
String[]arrDes3;
String[]arrKegunaan3;
int[]arrGbr3;

int textlength = 0;
ArrayList<String> text_sort = new ArrayList<String>();
ArrayList<Integer> image_sort = new ArrayList<Integer>();

public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.listviewcari);

Bundle extras = getIntent().getExtras();
arrNama= extras.getStringArray("arrNama");
arrDes =extras.getStringArray("arrDes");
arrKegunaan= extras.getStringArray("arrKegunaan");
arrGbr= extras.getIntArray("arrGbr");

jd=arrNama.length;

arrNama2=new String[jd];
arrDes2=new String[jd];
arrKegunaan2=new String[jd];
arrGbr2=new int[jd];

btnCari = (Button) findViewById(R.id.btnCari);
edCari = (EditText) findViewById(R.id.edCari);
listview = (ListView) findViewById(R.id.listCari);

listview.setAdapter(new MyCustomAdapter(arrNama, arrGbr));
listview.setOnItemClickListener(new OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> a, View v, int p, long id) { 
        Toast.makeText(getBaseContext(), "Anda telah memilih no: "+p+"="+ arrNama[p], Toast.LENGTH_LONG).show();
        Intent i = new Intent(pencarianTanaman.this, Detail.class);
i.putExtra("nama", arrNama[p]);
i.putExtra("kegunaan", arrKegunaan[p]);
i.putExtra("deskripsi", arrDes[p]);
i.putExtra("gambar", arrGbr[p]);
startActivity(i);
  }  
  });

btnCari.setOnClickListener(new OnClickListener(){
public void onClick(View v){textlength = edCari.getText().length();
text_sort.clear();
image_sort.clear();
String scari=edCari.getText().toString().toLowerCase();

int ada=0;
for (int i = 0; i < jd; i++){
String snama=arrNama[i].toLowerCase();
String skegunaan=arrKegunaan[i].toLowerCase();
String sdes=arrDes[i].toLowerCase();
if (textlength <= arrNama[i].length()){
if (snama.indexOf(scari)>=0 || skegunaan.indexOf(scari)>=0|| sdes.indexOf(scari)>=0){
text_sort.add(arrNama[i]);
image_sort.add(arrGbr[i]);
arrNama2[ada]=arrNama[i];
arrDes2[ada]=arrDes[i];
arrKegunaan2[ada]=arrKegunaan[i];
arrGbr2[ada]=arrGbr[i];
ada=ada+1;
}
  }
}

arrNama3=new String[ada];
arrDes3=new String[ada];
arrKegunaan3=new String[ada];
arrGbr3=new int[ada];

for (int i = 0; i < ada; i++){
arrNama3[i]=arrNama2[i];
arrDes3[i]=arrNama2[i];
arrKegunaan3[i]=arrKegunaan2[i];
arrGbr3[i]=arrGbr2[i];
}

listview.setAdapter(new MyCustomAdapter(text_sort, image_sort));
listview.setOnItemClickListener(new OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> a, View v, int p, long id) { 
        Toast.makeText(getBaseContext(), "Anda telah memilih no "+p+"="+ arrNama3[p], Toast.LENGTH_LONG).show();
        Intent i = new Intent(pencarianTanaman.this, Detail.class);
i.putExtra("nama", arrNama3[p]);
i.putExtra("kegunaan", arrKegunaan3[p]);
i.putExtra("deskripsi", arrDes3[p]);
i.putExtra("gambar", arrGbr3[p]);
startActivity(i);
  }  
       });
}});
}

class MyCustomAdapter extends BaseAdapter{
String[] data_text;
int[] data_image;
MyCustomAdapter(){}
MyCustomAdapter(String[] text, int[] image){
data_text = text;
data_image = image;
}
MyCustomAdapter(ArrayList<String> text, ArrayList<Integer> image){
data_text = new String[text.size()];
data_image = new int[image.size()];
for (int i = 0; i < text.size(); i++) {
data_text[i] = text.get(i);
data_image[i] = image.get(i);
}
}
public int getCount(){return data_text.length;}
public String getItem(int position){return null;}
public long getItemId(int position){return position;}
public View getView(int p, View convertView, ViewGroup parent){
LayoutInflater inflater = getLayoutInflater();
View row;
row = inflater.inflate(R.layout.listviewdetail, parent, false);
TextView textview = (TextView) row.findViewById(R.id.txtCari);
ImageView imageview = (ImageView) row.findViewById(R.id.imgCari);
textview.setText(data_text[p]);
imageview.setImageResource(data_image[p]);
return (row);
}
}

}
+++++++++++++++++
loading.xml

<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:background="@drawable/tanaman"
    tools:context=".MainActivity" >


    <ProgressBar
        android:id="@+id/progressBar1"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="24dp"
        android:src="@drawable/medis" />

</RelativeLayout>



menuutama.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dp"
    android:textSize="20sp" >
</TextView>


listmenu.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dp"
    android:textSize="20sp" >
</TextView>


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

<Button 
android:text="Search"
android:id="@+id/btnCari"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>

<EditText 
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="" android:id="@+id/edCari"
android:layout_toLeftOf="@+id/btnCari">
</EditText>

<ListView 
android:layout_height="wrap_content"
android:layout_below="@+id/edCari"
android:layout_width="wrap_content"
android:id="@+id/listCari">
</ListView>
                               
</RelativeLayout>





listviewdetail.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:gravity="left|center"
android:layout_width="fill_parent"
android:paddingBottom="5px"
android:background="#999999"
android:paddingTop="5px"
android:paddingLeft="5px">

<ImageView android:id="@+id/imgCari"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="50px"
android:maxHeight="50px"
android:minWidth="50px"
android:minHeight="50px"
>
</ImageView>

<TextView android:id="@+id/txtCari"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20px"
android:textStyle="bold"
android:layout_marginLeft="10px"
android:textColor="#ffff00">
</TextView>

</LinearLayout>



detail.xml
<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:background="#cccccc"
    android:gravity="right"
    tools:context=".MainActivity" >
    
<ScrollView
    android:layout_marginBottom="50dip" 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#cccccc"
>

<TableLayout android:id="@+id/TableLayout01" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#fff">

    <ImageView 
   android:id="@+id/myGambar"
   android:layout_centerHorizontal="true"
   android:src="@drawable/logo"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   />



<TableRow android:id="@+id/TableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content">
      <TextView android:text="Nama Tanaman" />
      <TextView android:id="@+id/detailNamaTanaman" />
</TableRow>    

<TableRow android:id="@+id/TableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content">
      <TextView android:text="Kegunaan" />
      <TextView android:id="@+id/detailKegunaan" />
</TableRow>    

<TableRow android:id="@+id/TableRow3" android:layout_width="wrap_content" android:layout_height="wrap_content">
      <TextView android:text="Deskripsi" />
    

      
       <RelativeLayout
        android:id="@+id/relativeLayout2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true" >

        <ScrollView
            android:id="@+id/scrollView1"
            android:layout_width="fill_parent"
            android:layout_height="164dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:gravity="center" >

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="match_parent"
                android:orientation="vertical" >

                <TextView
                    android:id="@+id/isi"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="isi" />
            </LinearLayout>
        </ScrollView>
    </RelativeLayout>
    
       
     
</TableRow>    


  <Button
      android:id="@+id/btnWiki"
      android:text="Wikipedia"
  />

  <Button
      android:id="@+id/btnKembali"
      android:text="Kembali"
       />

</TableLayout>
</ScrollView>

</RelativeLayout>








Pencarian Array



package com.sttnf.apptanamanobat;
import java.util.ArrayList;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class pencarianTanaman extends Activity{
EditText edCari;
ListView listview;
Button btnCari;

int jd;
String[]arrNama;
String[]arrDes;
String[]arrKegunaan;
int[]arrGbr;

String[]arrNama2;
String[]arrDes2;
String[]arrKegunaan2;
int[]arrGbr2;

String[]arrNama3;
String[]arrDes3;
String[]arrKegunaan3;
int[]arrGbr3;

int textlength = 0;
ArrayList<String> text_sort = new ArrayList<String>();
ArrayList<Integer> image_sort = new ArrayList<Integer>();

public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.listviewcari);

Bundle extras = getIntent().getExtras();
arrNama= extras.getStringArray("arrNama");
arrDes =extras.getStringArray("arrDes");
arrKegunaan= extras.getStringArray("arrKegunaan");
arrGbr= extras.getIntArray("arrGbr");

jd=arrNama.length;

arrNama2=new String[jd];
arrDes2=new String[jd];
arrKegunaan2=new String[jd];
arrGbr2=new int[jd];

btnCari = (Button) findViewById(R.id.btnCari);
edCari = (EditText) findViewById(R.id.edCari);
listview = (ListView) findViewById(R.id.listCari);

listview.setAdapter(new MyCustomAdapter(arrNama, arrGbr));
listview.setOnItemClickListener(new OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> a, View v, int p, long id) {
        Toast.makeText(getBaseContext(), "Anda telah memilih no: "+p+"="+ arrNama[p], Toast.LENGTH_LONG).show();
        Intent i = new Intent(pencarianTanaman.this, Detail.class);
i.putExtra("nama", arrNama[p]);
i.putExtra("kegunaan", arrKegunaan[p]);
i.putExtra("deskripsi", arrDes[p]);
i.putExtra("gambar", arrGbr[p]);
startActivity(i);

  }
  });

btnCari.setOnClickListener(new OnClickListener(){
public void onClick(View v){textlength = edCari.getText().length();
text_sort.clear();
image_sort.clear();
String scari=edCari.getText().toString().toLowerCase();

int ada=0;
for (int i = 0; i < jd; i++){
String snama=arrNama[i].toLowerCase();
String skegunaan=arrKegunaan[i].toLowerCase();
String sdes=arrDes[i].toLowerCase();
if (textlength <= arrNama[i].length()){
if (snama.indexOf(scari)>=0 || skegunaan.indexOf(scari)>=0|| sdes.indexOf(scari)>=0){
text_sort.add(arrNama[i]);
image_sort.add(arrGbr[i]);
arrNama2[ada]=arrNama[i];
arrDes2[ada]=arrDes[i];
arrKegunaan2[ada]=arrKegunaan[i];
arrGbr2[ada]=arrGbr[i];
ada=ada+1;
}
  }
}

arrNama3=new String[ada];
arrDes3=new String[ada];
arrKegunaan3=new String[ada];
arrGbr3=new int[ada];

for (int i = 0; i < ada; i++){
arrNama3[i]=arrNama2[i];
arrDes3[i]=arrNama2[i];
arrKegunaan3[i]=arrKegunaan2[i];
arrGbr3[i]=arrGbr2[i];
}

listview.setAdapter(new MyCustomAdapter(text_sort, image_sort));
listview.setOnItemClickListener(new OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> a, View v, int p, long id) {
        Toast.makeText(getBaseContext(), "Anda telah memilih no "+p+"="+ arrNama3[p], Toast.LENGTH_LONG).show();
        Intent i = new Intent(pencarianTanaman.this, Detail.class);
i.putExtra("nama", arrNama3[p]);
i.putExtra("kegunaan", arrKegunaan3[p]);
i.putExtra("deskripsi", arrDes3[p]);
i.putExtra("gambar", arrGbr3[p]);
startActivity(i);
  }
       });
}});
}

class MyCustomAdapter extends BaseAdapter{
String[] data_text;
int[] data_image;
MyCustomAdapter(){}

MyCustomAdapter(String[] text, int[] image){
data_text = text;
data_image = image;
}

MyCustomAdapter(ArrayList<String> text, ArrayList<Integer> image){
data_text = new String[text.size()];
data_image = new int[image.size()];
for (int i = 0; i < text.size(); i++) {
data_text[i] = text.get(i);
data_image[i] = image.get(i);
}
}

public int getCount(){return data_text.length;}
public String getItem(int position){return null;}
public long getItemId(int position){return position;}
public View getView(int p, View convertView, ViewGroup parent){
LayoutInflater inflater = getLayoutInflater();
View row;
row = inflater.inflate(R.layout.listviewdetail, parent, false);
TextView textview = (TextView) row.findViewById(R.id.txtCari);
ImageView imageview = (ImageView) row.findViewById(R.id.imgCari);
textview.setText(data_text[p]);
imageview.setImageResource(data_image[p]);
return (row);
}
}

}

++++
listviewcari.xml

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

<Button 
android:text="Search"
android:id="@+id/btnCari"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>

<EditText 
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="" android:id="@+id/edCari"
android:layout_toLeftOf="@+id/btnCari">
</EditText>

<ListView 
android:layout_height="wrap_content"
android:layout_below="@+id/edCari"
android:layout_width="wrap_content"
android:id="@+id/listCari">
</ListView>
                               
</RelativeLayout>




listviewdetail.xml
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:gravity="left|center"
android:layout_width="fill_parent"
android:paddingBottom="5px"
android:background="#999999"
android:paddingTop="5px"
android:paddingLeft="5px">

<ImageView android:id="@+id/imgCari"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="50px"
android:maxHeight="50px"
android:minWidth="50px"
android:minHeight="50px"
>
</ImageView>

<TextView android:id="@+id/txtCari"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20px"
android:textStyle="bold"
android:layout_marginLeft="10px"
android:textColor="#ffff00">
</TextView>

</LinearLayout>


ScrollView XML

<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:background="#cccccc"
    android:gravity="right"
    tools:context=".MainActivity" >
 
<ScrollView
    android:layout_marginBottom="50dip"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#cccccc"
>

<TableLayout android:id="@+id/TableLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#fff">


    <ImageView
   android:id="@+id/myGambar"
   android:layout_centerHorizontal="true"
   android:src="@drawable/logo"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   />



<TableRow android:id="@+id/TableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content">
      <TextView android:text="Nama Tanaman" />
      <TextView android:id="@+id/detailNamaTanaman" />
</TableRow>  

<TableRow android:id="@+id/TableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content">
      <TextView android:text="Kegunaan" />
      <TextView android:id="@+id/detailKegunaan" />
</TableRow>  

<TableRow android:id="@+id/TableRow3" android:layout_width="wrap_content" android:layout_height="wrap_content">
      <TextView android:text="Deskripsi" />
 

   
       <RelativeLayout
        android:id="@+id/relativeLayout2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true" >

        <ScrollView
            android:id="@+id/scrollView1"
            android:layout_width="fill_parent"
            android:layout_height="164dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:gravity="center" >

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="match_parent"
                android:orientation="vertical" >

                <TextView
                    android:id="@+id/isi"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="isi" />
            </LinearLayout>
        </ScrollView>
    </RelativeLayout>
 
     
     
</TableRow>  


  <Button
      android:id="@+id/btnWiki"
      android:text="Wikipedia"
  />

  <Button
      android:id="@+id/btnKembali"
      android:text="Kembali"
       />

</TableLayout>
</ScrollView>

</RelativeLayout>

+++++++++++++++++


package com.sttnf.apptanamanobat;

import java.util.Calendar;

import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.DialogInterface.OnClickListener;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

public class Detail extends Activity {
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.detail);

         Intent io = this.getIntent();
         String nama=io.getStringExtra("nama");
         String kegunaan=io.getStringExtra("kegunaan");
         String deskripsi=io.getStringExtra("deskripsi");
    int gambar=io.getIntExtra("gambar", R.drawable.logo);
 

        TextView txtNama=(TextView)findViewById(R.id.detailNamaTanaman);
        TextView txtKegunaan=(TextView)findViewById(R.id.detailKegunaan);
        TextView txtDeskripsi=(TextView)findViewById(R.id.isi);
        ImageView myGambar=(ImageView)findViewById(R.id.myGambar);
       
        txtNama.setText(nama);
        txtKegunaan.setText(kegunaan);
        txtDeskripsi.setText(deskripsi);
        myGambar.setImageResource(gambar);
       
        Button  btnKembali=(Button)findViewById(R.id.btnKembali);
        btnKembali.setOnClickListener(new View.OnClickListener() {
        public void onClick(View arg0) {
        finish();
        }});
       
       
        Button  btnWikipedia=(Button)findViewById(R.id.btnWiki);
        btnWikipedia.setOnClickListener(new View.OnClickListener() {
        public void onClick(View arg0) {
        Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://id.wikipedia.org/wiki/Tanaman_obat_keluarga"));
        startActivity(browserIntent);
        }});
       
    }
     
public boolean onKeyDown(int keyCode, KeyEvent event) {
         if (keyCode == KeyEvent.KEYCODE_BACK) {
          finish();
                 return true;
         }
     return super.onKeyDown(keyCode, event);
 }  

}



Android Code Pencarian Sqllite

package com.example.may16;
import java.util.ArrayList;
import java.util.HashMap;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class pencarian extends Activity{
EditText edCari;
ListView listview;
Button btnCari;
int jd;

dbHelper helper=null;

String[]arr_id;
String[]arr_longitude;
String[]arr_keterangan;
String[]arr_nama;
String[]arr_alamat;
String[]arr_latitude;
int[]arrGbr;
double[]arJarak;

String[]arr_id2;
String[]arr_longitude2;
String[]arr_keterangan2;
String[]arr_nama2;
String[]arr_alamat2;
String[]arr_latitude2;
int[]arrGbr2;
double[]arJarak2;

String[]arr_id3;
String[]arr_longitude3;
String[]arr_keterangan3;
String[]arr_nama3;
String[]arr_alamat3;
String[]arr_latitude3;
int[]arrGbr3;
double[]arJarak3;

String mylatitude="-6.353516";
String mylongitude="106.832056";
String mylocation="Kampus Politeknik Negeri Jakarta Jalan Lingkar Kampus Raya 16424, Indonesia (default)";


int textlength = 0;
ArrayList<String> text_sort = new ArrayList<String>();
ArrayList<Integer> image_sort = new ArrayList<Integer>();

public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.listviewcolorcari);

Intent io = this.getIntent();
mylocation=io.getStringExtra("mylocation");
mylatitude=io.getStringExtra("mylatitude");
mylongitude=io.getStringExtra("mylongitude");

helper=new dbHelper(this);
Cursor c=helper.getAll();
c.moveToFirst();
int row = c.getCount();
jd=row;

int i=0;
if (row>0){
arr_nama=new String[jd];
arr_alamat=new String[jd];
arr_latitude=new String[jd];
arr_id=new String[jd];
arr_longitude=new String[jd];
arr_keterangan=new String[jd];
arrGbr=new int[jd];
arJarak=new double[jd];

arr_nama2=new String[jd];
arr_alamat2=new String[jd];
arr_latitude2=new String[jd];
arrGbr2=new int[jd];
arr_longitude2=new String[jd];
arr_id2=new String[jd];
arr_keterangan2=new String[jd];
arJarak2=new double[jd];

double slati=Double.parseDouble(mylatitude);
double slongi=Double.parseDouble(mylongitude);

for(i=0;i<row;i++){
arr_id[i]=helper.getid(c);
arr_nama[i]=helper.getnama(c);
arr_alamat[i]=helper.getalamat(c);
arr_latitude[i]=helper.getlatitude(c);
arr_longitude[i]=helper.getlongitude(c);
arr_keterangan[i]=helper.getketerangan(c);

double jarak=1.0;
try {
double mlati=Double.parseDouble(arr_latitude[i]);
double mlongi=Double.parseDouble(arr_longitude[i]);
jarak=jarak(slati,slongi,mlati,mlongi);
} catch (NumberFormatException e) {
e.printStackTrace();
jarak=1.0;
}
arJarak[i]=jarak;
arrGbr[i]=R.drawable.add;
try{c.moveToNext();}
catch(Exception ee){}
}
c.close();
}
else{
Toast.makeText(pencarian.this," Maaf data belum tersedia....", Toast.LENGTH_LONG).show();
finish();
}


btnCari = (Button) findViewById(R.id.btnCari);
edCari = (EditText) findViewById(R.id.edCari);

listview = (ListView) findViewById(R.id.listCari);

listview.setAdapter(new MyCustomAdapter(arr_nama, arrGbr));
listview.setOnItemClickListener(new OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> a, View v, int p, long id) {
        Toast.makeText(getBaseContext(), "Anda telah memilih no: "+p+"="+ arr_nama[p], Toast.LENGTH_LONG).show();
        Intent i = new Intent(pencarian.this, detail.class);
i.putExtra("id", arr_id[p]);
i.putExtra("nama", arr_nama[p]);
i.putExtra("keterangan", arr_keterangan[p]);
i.putExtra("latitude", arr_latitude[p]);
i.putExtra("longitude", arr_longitude[p]);
i.putExtra("alamat", arr_alamat[p]);
i.putExtra("jarak", String.valueOf(arJarak[p]));
i.putExtra("mylatitude", mylatitude);
i.putExtra("mylongitude", mylongitude);
i.putExtra("mylocation", mylocation);
startActivity(i);
Toast.makeText(pencarian.this,arr_nama[p]+ " telah dipilih....", Toast.LENGTH_LONG).show();
  }
       });


btnCari.setOnClickListener(new OnClickListener(){
public void onClick(View v){textlength = edCari.getText().length();
text_sort.clear();
image_sort.clear();
String scari=edCari.getText().toString().toLowerCase();

int ada=0;
for (int i = 0; i < jd; i++){
String snama=arr_nama[i].toLowerCase();
if (textlength <= arr_nama[i].length()){
if (snama.indexOf(scari)>=0){ //if (edCari.getText().toString().equalsIgnoreCase((String) arr_nama[i].subSequence(0, textlength))){//huruf yg awalannya sama
text_sort.add(arr_nama[i]);
image_sort.add(arrGbr[i]);
arr_nama2[ada]=arr_nama[i];
arr_alamat2[ada]=arr_alamat[i];
arr_latitude2[ada]=arr_latitude[i];
arr_id2[ada]=arr_id[i];
arr_longitude2[ada]=arr_longitude[i];
arr_keterangan2[ada]=arr_keterangan[i];
arrGbr2[ada]=arrGbr[i];
arJarak2[ada]=arJarak[i];
ada=ada+1;
}
  }
}

arr_nama3=new String[ada];
arr_alamat3=new String[ada];
arr_latitude3=new String[ada];
arr_longitude3=new String[ada];
arr_id3=new String[ada];
arr_keterangan3=new String[ada];
arrGbr3=new int[ada];
arJarak3=new double[ada];

for (int i = 0; i < ada; i++){
arr_nama3[i]=arr_nama2[i];
arr_longitude3[i]=arr_longitude2[i];
arr_id3[i]=arr_id2[i];
arr_keterangan3[i]=arr_keterangan2[i];
arr_alamat3[i]=arr_nama2[i];
arr_latitude3[i]=arr_latitude2[i];
arrGbr3[i]=arrGbr2[i];
arJarak3[i]=arJarak2[i];
}

listview.setAdapter(new MyCustomAdapter(text_sort, image_sort));
listview.setOnItemClickListener(new OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> a, View v, int p, long id) {
        Toast.makeText(getBaseContext(), "Anda telah memilih no "+p+"="+ arr_nama3[p], Toast.LENGTH_LONG).show();
        Intent i = new Intent(pencarian.this, detail.class);
i.putExtra("id", arr_id3[p]);
i.putExtra("nama", arr_nama3[p]);
i.putExtra("keterangan", arr_keterangan3[p]);
i.putExtra("latitude", arr_latitude3[p]);
i.putExtra("longitude", arr_longitude3[p]);
i.putExtra("alamat", arr_alamat3[p]);
i.putExtra("jarak", String.valueOf(arJarak3[p]));
i.putExtra("mylatitude", mylatitude);
i.putExtra("mylongitude", mylongitude);
i.putExtra("mylocation", mylocation);

startActivity(i);
Toast.makeText(pencarian.this,arr_nama[p]+ " telah dipilih....", Toast.LENGTH_LONG).show();
   
  }
       });
}});
}

class MyCustomAdapter extends BaseAdapter{
String[] data_text;
int[] data_image;
MyCustomAdapter(){}

MyCustomAdapter(String[] text, int[] image){
data_text = text;
data_image = image;
}

MyCustomAdapter(ArrayList<String> text, ArrayList<Integer> image){
data_text = new String[text.size()];
data_image = new int[image.size()];
for (int i = 0; i < text.size(); i++) {
data_text[i] = text.get(i);
data_image[i] = image.get(i);
}
}

public int getCount(){return data_text.length;}
public String getItem(int position){return null;}
public long getItemId(int position){return position;}
public View getView(int p, View convertView, ViewGroup parent){
LayoutInflater inflater = getLayoutInflater();
View row;
row = inflater.inflate(R.layout.listviewcolordetail, parent, false);
TextView textview = (TextView) row.findViewById(R.id.txtCari);
ImageView imageview = (ImageView) row.findViewById(R.id.imgCari);
textview.setText(data_text[p]);
imageview.setImageResource(data_image[p]);
return (row);
}
}
public static double jarak(double lat1, double lng1, double lat2, double lng2) {
    double earthRadius = 3958.75;
    double dLat = Math.toRadians(lat2-lat1);
    double dLng = Math.toRadians(lng2-lng1);
    double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
               Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
               Math.sin(dLng/2) * Math.sin(dLng/2);
    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
    double dist = earthRadius * c;

    int meterConversion = 1609;
    return new Double(dist * meterConversion/1000).doubleValue();
    }
}

++++++++++++


listviewcolorcari.xml

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

<Button 
android:text="Search"
android:id="@+id/btnCari"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>

<EditText 
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="" android:id="@+id/edCari"
android:layout_toLeftOf="@+id/btnCari">
</EditText>

<ListView 
android:layout_height="wrap_content"
android:layout_below="@+id/edCari"
android:layout_width="wrap_content"
android:id="@+id/listCari">
</ListView>
                               
</RelativeLayout>


+++++++++++++++++

listviewcolordetail

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:gravity="left|center"
android:layout_width="fill_parent"
android:paddingBottom="5px"
android:background="#999999"
android:paddingTop="5px"
android:paddingLeft="5px">

<ImageView android:id="@+id/imgCari"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="50px"
android:maxHeight="50px"
android:minWidth="50px"
android:minHeight="50px"
>
</ImageView>

<TextView android:id="@+id/txtCari"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20px"
android:textStyle="bold"
android:layout_marginLeft="10px"
android:textColor="#ffff00">
</TextView>

</LinearLayout>