2012-03-20 1 views
0

私はインターネット上でアンドロイドのフォーラムを閲覧していましたが、これはAndroidに関する質問に対して最も鋭く専門的な回答がある場所です。android projectのclass2のclass1からListViewを使用するには?

私はAndroid用のプログラミングを学んでいます。私は1つのアプリケーションに取り組んでいます。 私はSQLiteデータベースを読み書きして実装していますが、EditBoxなどのデータを表示していますが、ListViewを実装することはできません。

私は、データベースからのデータを表示するListViewでいくつかの例を持っています。 私はそれをデータベースからのデータを表示するのに適応させました。それは別のアプリケーションとして機能します。

私の質問は どうすれば修正したサンプルを自分のアプリケーションに追加できますか?

public class DataListView extends ListActivity 

、それは私のアプリケーションからデータベースにアクセスするために別のクラスを使用しています:

public class DatabaseManager extends SQLiteOpenHelper 

をしかし、私自身のアプリケーションは以下のクラスがあります。

public class MyWorkActivity extends Activity implements OnClickListener 
の例では、クラスを持っていることを

自分のプロジェクトでDataListViewクラスを呼び出して使用するにはどうすればよいですか?

私は、このListViewを1週間以上進歩しているので、助けてください。

これは私のmain.xmlです:

<?xml version="1.0" encoding="utf-8"?> 
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/tableLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:background="@drawable/honeycomb2" 
    android:shrinkColumns="*" 
    android:stretchColumns="9" > 

    <TableRow 
     android:id="@+id/tableRow0" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" > 
    </TableRow> 


    <TableRow 
     android:id="@+id/tableRow1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:stretchColumns="6" > 

     <TextView 
      android:id="@+id/lblVrijemDolaska" 
      android:layout_width="120dp" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:text="@string/lblVrijemeDolaska" 
      android:textSize="20sp" /> 
     <requestFocus /> 

     <TextView 
      android:id="@+id/lblVrijemeOdlaska" 
      android:layout_width="120dp" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:text="@string/lblVrijemeOdlaska" 
      android:textSize="20sp" /> 

    </TableRow> 

    <TableRow 
     android:id="@+id/tableRow2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center" > 

     <TextView 
      android:id="@+id/tvVrijemeDolaska" 
      android:layout_width="70dp" 
      android:layout_height="wrap_content" 
      android:focusable="true" 
      android:focusableInTouchMode="true" 
      android:gravity="center" 
      android:shadowColor="#00ccff" 
      android:shadowDx="2" 
      android:shadowRadius="2" 
      android:text="Vr. dolaska" 
      android:textSize="30sp" /> 

     <TextView 
      android:id="@+id/tvVrijemeOdlaska" 
      android:layout_width="70dp" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:shadowColor="#00ccff" 
      android:shadowDx="2" 
      android:shadowRadius="2" 
      android:text="Vr. odlaska" 
      android:textSize="30sp" /> 
    </TableRow> 


    <TableRow 
     android:id="@+id/tableRow3" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" > 

     <TextView 
      android:id="@+id/lblDorucak3" 
      android:layout_gravity="center" 
      android:gravity="right" 
      android:text="@string/lblDorucak3" />  

     <TextView 
      android:id="@+id/lblPauza3" 
      android:layout_gravity="center" 
      android:gravity="right" 
      android:text="@string/lblPauza3" /> 

    </TableRow> 

<RelativeLayout 
     android:id="@+id/RelativeLayout1" 
     android:layout_width="35dp" 
     android:layout_height="wrap_content" 
     android:gravity="center" > 

    <TableRow 
      android:id="@+id/tableRow4" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:stretchColumns="9" 
      android:gravity="center" > 

      <EditText 
       android:id="@+id/txtDorucak3" 
       android:gravity="center" 
       android:layout_span="1" 
       android:layout_width="60dp" 
       android:inputType="number" /> 

      <TextView 
       android:id="@+id/lblRazmak" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="    " /> 

      <EditText 
       android:id="@+id/txtPauza3" 
       android:layout_width="60dp" 
       android:layout_span="1" 
       android:gravity="center" 
       android:inputType="number" /> 

     </TableRow> 

    </RelativeLayout> 

    <RelativeLayout 
     android:id="@+id/RelativeLayout2" 
     android:layout_width="35dp" 
     android:layout_height="wrap_content" 
     android:gravity="center" > 

     <Button 
      android:id="@+id/btnDodaj" 
      android:layout_width="75dp" 
      android:layout_height="85dp" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentTop="true" 
      android:layout_marginRight="61dp" 
      android:background="@drawable/dodaj" 
      android:scaleType="fitXY" 
      android:text="@string/btnDodaj" /> 

     <Button 
      android:id="@+id/btnIzbrisi" 
      android:layout_width="75dp" 
      android:layout_height="85dp" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentTop="true" 
      android:layout_marginLeft="68dp" 
      android:background="@drawable/izbrisi" 
      android:scaleType="fitXY" 
      android:text="@string/btnIzbrisi" /> 

    </RelativeLayout> 

    <TableRow 
     android:id="@+id/tableRow5" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 
    </TableRow> 

    <ScrollView 
     android:id="@+id/scrollViewDatabase" 
     android:layout_width="fill_parent" 
     android:layout_height="49dp" > 

     <TextView 
      android:id="@+id/tvZaBazu" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 
    </ScrollView> 

    <ListView 
     android:id="@+id/lista" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:scrollbars="vertical" 
     android:textSize="5sp" > 

    </ListView> 

</TableLayout> 

そして、これは独立したアプリとしてではなく、NTの私のプロジェクトで私のデータベースと連携したListViewの例です:あなたは中のonClickリスナを実装している

import java.util.ArrayList; 
import com.saigmn.DatabaseManager.DatabaseInfo; 
import android.app.ListActivity; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteException; 
import android.os.Bundle; 
import android.util.Log; 
import android.widget.ArrayAdapter; 

public class DataListView extends ListActivity { 

private ArrayList<String> results = new ArrayList<String>(); 
private SQLiteDatabase newDB; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    openAndQueryDatabase(); 

    displayResultList(); 


} 
private void displayResultList() { 
    //TextView tView = new TextView(this); 
    //tView.setText("This data is retrieved from the database and only 4 " + 
      //"of the results are displayed"); 
    //getListView().addHeaderView(tView); 

    setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, results)); 
    getListView().setTextFilterEnabled(true); 

} 
private void openAndQueryDatabase() { 
    try { 

     newDB = this.openOrCreateDatabase(DatabaseInfo.IME_BAZE, MODE_PRIVATE, null); 
     Cursor c = newDB.rawQuery("SELECT * FROM " + DatabaseInfo.IME_TABELE, null); 

     if (c !=null && c.getCount() > 0) { 
       c.moveToFirst(); 
       int Column1 = c.getColumnIndex("datum"); 
       int Column2 = c.getColumnIndex("dolazak"); 
       int Column3 = c.getColumnIndex("odlazak"); 
       int Column4 = c.getColumnIndex("r_vrijeme"); 
       do { 


        String datum = c.getString(Column1); 
        String dolazak = c.getString(Column2); 
        String odlazak = c.getString(Column3); 
        String r_vrijeme = c.getString(Column4); 
        results.add(datum + " * " + dolazak + " * " + odlazak + " -> " + r_vrijeme); 

       }while (c.moveToNext()); 

     }   
    } catch (SQLiteException se) { 
     Log.e(getClass().getSimpleName(), "Nije moguće kreirati ili otvoriti bazu"); 
    } finally { 
     if (newDB != null) 
      //newDB.execSQL("DELETE FROM " + DatabaseInfo.IME_TABELE); 
      newDB.close(); 
    } 

} 

} 

答えて

0

MyWorkActivity ...クリック可能なオブジェクトがあります。ボタンの1つをクリックすると が表示されます..あなたの画面にリストビューを表示させることができます。この部分がyourMyWorkActivityにあります。

button.SetOnClickListener(this); 
OnclickListener(View v) 
{ 
switch(v.getGetId()); 
{ 
    case R.id.x:<--- some button.. on clicking which listview should appear 

Intent i=new Intent(MyWorkActivity.this,DataListView.class) 
    startActivity(i); 
    // by using these lines your application will display the datalistview activity you created.. 

} 
} 

} 
+0

これは簡単な回答ですが、出発時刻と出発時刻の時間帯と計算時間を計算し、データをデータベースに追加するためのレイアウトがあります。以下では、ユーザーが項目を押して編集または削除できるように、データベースからすべてのデータを含むListViewを作成したいと考えています。 ListViewは自動的にレイアウトと共に表示されなければなりません。私はTextViewでそれを行うことができましたが、項目を押すことはできません。 –

+0

ok ..あなたはtextviewとlistviewを一緒に持っているxmlファイルを投稿してください。フォーカスできないようにいくつかの値を設定する必要があります。 – 5hssba

+0

かなり大きいXMLです: –

関連する問題