0

MapActivityとを併用ListActivityして、地図上に店舗の場所を表示します。ストアはリストから取得されます。使っていますsetListAdapter(adapter)が対応してくれません。また、 which を使用ListViewしますsetAdapter(adpt)が、 を取得しNull pointer exceptionます。

これが私のコードです:

public void search(View view) {
    // || is the concatenation operation in SQLite
    listView=(ListView) findViewById(R.id.list);

    try{    
        cursor = db.rawQuery("SELECT _id, store FROM storeInfo WHERE address LIKE         ?", 
    new String[]{"%" +   searchText.getText().toString() + "%"});
    adapter = new SimpleCursorAdapter(
            this, 
            R.layout.store_list_item, 
            cursor, 
            new String[] {"store"}, 
            new int[] {R.id.store});

        listView.setAdapter(adapter);

    }catch(Exception e){
        System.out.println("Exception::"+e);
    }

    public void onItemClick(AdapterView parent, View view, int position, long id) {
        Intent intent = new Intent(this, StoreDetails.class);
        Cursor cursor = (Cursor) adapter.getItem(position);
        //Cursor cursor = (Cursor) listView.getAdapter().getItem(position);
        intent.putExtra("STORE_ID", cursor.getInt(cursor.getColumnIndex("_id")));
        startActivity(intent);
    }
4

1 に答える 1

0

これは完全なコードではありません...そして、私はあなたのアプリの流れについて少し確信が持てません. ユーザーが項目を選択してから MapActivity を開く ListActivity を使用していますか? ListActivity と MapActivity を 1 つにすることはできません。ListView または MapView を適切なアクティビティに追加する必要があります。MapActivity を使用している場合でも、setContentView()(MapView と ListView を含む) レイアウトを呼び出して設定する必要があります。

必要に応じて、ListFragment を使用して、リストに必要なすべてのロジックと機能を定義し、それを MapActivity に追加することもできます。

于 2012-08-27T12:44:10.990 に答える