0

Android でシンプルな Top Trumps アプリを作成しようとしています。SQL lite オープン ヘルパーを使用して、各トップ トランプ カードの詳細を保存しました。

現時点では、リスト ビューを使用してカード名を表示するブラウズ カード クラスがあります。誰かがカード名をクリックすると、正しいカードが表示され、データベースを使用してカードの詳細が取得されます。

リストビューの位置を取得することでこれを行うことを考えていたので、ユーザーがカードをクリックすると位置が取得され、選択したカードの正しい詳細が表示されます。

これが可能かどうか疑問に思っていて、位置を設定ファイルに保存できると思っていましたか?

これは私のクラスのコードです。

import java.util.List;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class Browse extends Activity {

private ListView mainListView;  
private ArrayAdapter<Card> listAdapter;  

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.layout2);

    mainListView = (ListView) findViewById( R.id.mainListView);  

    DatabaseHandler dh = new DatabaseHandler(this);

    // Remember to drop existing table if it exists
    dh.removeAll();

    // Insert 6 cards into the database
    Log.d("Database: ", "Inserting values..");
    dh.addCard(new Card(1, "Katniss Evergreen", "11", "33", "55", "44"));
    dh.addCard(new Card(2, "Peeta Melark", "49", "44", "11", "65"));
    dh.addCard(new Card(3, "Gale Hawthrone", "87", "32", "98", "50"));
    dh.addCard(new Card(4, "Haymitch", "30", "32", "45", "31"));
    dh.addCard(new Card(5, "Effie Trinket", "65", "54", "21", "34"));
    dh.addCard(new Card(6, "President Snow", "23", "45", "67", "21"));

    List<Card> list = dh.getAll();  

    // Create ArrayAdapter using the list of cards
    listAdapter = new ArrayAdapter<Card>(this, R.layout.simplerow, list);

    // Set the ArrayAdapter as the ListView's adapter.  
    mainListView.setAdapter( listAdapter );  



    }


}

ありがとう

4

2 に答える 2

0

スピナーに使用して位置を取得するコードは次のとおりです。

spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
            // TODO Auto-generated method stub
            int position = spinner1.getSelectedItemPosition();
            @SuppressWarnings("unused")
            final Cursor cur = (Cursor) ((AdapterView<?>) spinner1).getItemAtPosition(position);
            residentName.setText(c.getString(1));
            Resident_Id.setText(c.getString(2));
于 2012-11-30T20:00:03.577 に答える
0

ListView.setOnItemClickListener(listener);リストのインデックスを取得するために使用します。

于 2012-11-30T19:54:02.613 に答える