2016-06-13 4 views
0

私はちょうど私のクラスで、私のクラスでListViewを使ってSqliteからデータを取得するにはちょっと変わっただけです。btnDisplay、 をクリックしてください。私はクラスを実行しているときにクリックするだけで、 "id","Nama_Gedung"、これは古いコードと同じですが、クリックすることなく必要なだけですbtnDisplay私のケースのボタンをクリックせずにSQLiteからListViewを使ってリストデータを表示するには?

私は自分のコードで何をすべきですか?

public class MainParkirDalam extends ListActivity implements android.view.View.OnClickListener{ 

    Button btnAdd,btnGetAll, btnClose; 
    TextView parkirdalam_Id; 

    @Override 
    public void onClick(View view) { 
     if (view== findViewById(R.id.btnAdd)){ 

      Intent intent = new Intent(this,ParkirDalamDetail.class); 
      intent.putExtra("parkirdalam_Id",0); 

      startActivity(intent); 

     }else { 

      ParkirDalamRepo repo = new ParkirDalamRepo(this); 

      ArrayList<HashMap<String, String>> parkirdalamList = repo.getParkirDalamList(); 
      if(parkirdalamList.size()!=0) { 
       ListView lv = getListView(); 
       lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
        @Override 
        public void onItemClick(AdapterView<?> parent, View view,int position, long id) { 
         parkirdalam_Id = (TextView) view.findViewById(R.id.parkirdalam_Id); 
         String parkirdalamId = parkirdalam_Id.getText().toString(); 
         Intent objIndent = new Intent(getApplicationContext(),ParkirDalamDetail.class); 
         objIndent.putExtra("parkirdalam_Id", Integer.parseInt(parkirdalamId)); 
         startActivity(objIndent); 
        } 
       }); 
       ListAdapter adapter = new SimpleAdapter(MainParkirDalam.this,parkirdalamList, R.layout.view_parkirdalam_entry, new String[] { "id","Nama_Gedung"}, new int[] {R.id.parkirdalam_Id, R.id.nama_gedung}); 
       setListAdapter(adapter); 
      }else{ 
       Toast.makeText(this,"Tidak Ada Area Parkir Dalam",Toast.LENGTH_SHORT).show(); 
      } 

      if (view== findViewById(R.id.btnClose)){ 
       Intent intent = new Intent(this,MainMenuActivity.class); 
       startActivity(intent); 

      } 
     } 
    } 


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

     btnAdd = (Button) findViewById(R.id.btnAdd); 
     btnAdd.setOnClickListener(this); 

     btnGetAll = (Button) findViewById(R.id.btnGetAll); 
     btnGetAll.setOnClickListener(this); 

     btnClose = (Button) findViewById(R.id.btnClose); 
     btnClose.setOnClickListener(this); 

    } 

Parkir_dalam_actvity

<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:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    > 
    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Tambah" 
     android:id="@+id/btnAdd" 
     android:layout_alignParentBottom="true" 
     android:layout_toLeftOf="@+id/btnGetAll" 
     android:layout_toStartOf="@+id/btnGetAll" /> 

    <ListView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@android:id/list" 
     android:layout_centerHorizontal="true" 
     android:layout_alignParentTop="true" 
     android:layout_above="@+id/btnAdd" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Tampilkan" 
     android:id="@+id/btnGetAll" 
     android:layout_below="@android:id/list" 
     android:layout_centerHorizontal="true" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Keluar" 
     android:id="@+id/btnClose" 
     android:layout_alignTop="@+id/btnGetAll" 
     android:layout_toRightOf="@+id/btnGetAll" 
     android:layout_toEndOf="@+id/btnGetAll" /> 

</RelativeLayout> 

} 

View_ParkirDalam_Entry

<?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:id="@+id/parkirdalam_Id" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:visibility="gone" /> 

    <TextView 
     android:id="@+id/nama_gedung" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:paddingLeft="6dip" 
     android:paddingTop="6dip" 
     android:textSize="22sp" 
     android:textStyle="bold" /> 

</LinearLayout> 
+0

ボタンをクリックしたときに発生するコードをすべてonCreateに移動できないのはなぜですか? –

+0

コードをonCreateメソッドに直接記述すると、ビューが作成されたときにコードが実行されます – Vodet

答えて

0

このコードのチャンクがあれば、それは理にかなっているので、しかし、あなたはまだボタンイベントをお勧めします、onCreateの下部に行くことができます後でListViewを更新する必要があります。その場合、最後の数行は例えばloadListViewFromDatabase()メソッドにする必要があります。

ListView lv = getListView(); 
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view,int position, long id) { 
     parkirdalam_Id = (TextView) view.findViewById(R.id.parkirdalam_Id); 
     String parkirdalamId = parkirdalam_Id.getText().toString(); 
     Intent objIndent = new Intent(getApplicationContext(),ParkirDalamDetail.class); 
     objIndent.putExtra("parkirdalam_Id", Integer.parseInt(parkirdalamId)); 
     startActivity(objIndent); 
    } 
}); 

// loadListViewFromDatabase() 
ParkirDalamRepo repo = new ParkirDalamRepo(this); 
ArrayList<HashMap<String, String>> parkirdalamList = repo.getParkirDalamList(); 
ListAdapter adapter = new SimpleAdapter(MainParkirDalam.this,parkirdalamList, R.layout.view_parkirdalam_entry, 
     new String[] { "id","Nama_Gedung"}, 
     new int[] {R.id.parkirdalam_Id, R.id.nama_gedung}); 
setListAdapter(adapter); 
+0

ありがとうございました!その仕事:) – Felix

+0

ええ、私はonClickを削除すると言ったことはありません、ちょうどそのコードを移動することができます –

+0

こんにちはCricket_007、あなたはこの質問に私の弟を助けることができる? http://stackoverflow.com/questions/37798161/how-to-store-and-retrive-values-from-a-spinner-to-sqlite-on-my-case – Felix

関連する問題