2012-08-27 5 views
0

나는 MapActivityListActivity을 함께 사용하여지도에 저장 위치를 ​​표시합니다. 스토어는 목록에서 제공됩니다. setListAdapter(adapter)을 사용하지만 지원하지 않습니다. 또한 을 사용하면 setAdapter(adpt)이되지만, Null pointer exception이 나옵니다.listActivity와 mapActivity를 함께 사용하는 방법

여기 내 코드입니다 :

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); 
    } 

답변

0

이 전체 코드가 아닙니다 ... 그리고 앱의 흐름을 좀 확실 해요. 사용자가 항목을 선택한 다음 MapActivity를 여는 ListActivity를 사용하고 있습니까? 하나의 ListActivity와 MapActivity를 가질 수는 없습니다. ListView 또는 MapView를 적절한 활동에 추가해야합니다. MapActivity를 사용하는 경우 setContentView()에 전화를 걸어 레이아웃 (MapView 및 ListView 포함)을 설정해야합니다.

해야 할 일에 따라 ListFragment를 사용하여 목록에 필요한 모든 로직과 기능을 정의한 다음 MapActivity에 추가하면됩니다.

+0

네, 코드가 완성되지 않은 것처럼 보입니다. ListItem을 표시하기 위해 ListAtivity를 사용하려면 MapActivity에서 ListView를 사용하고 MapActivity가 필요한 몇 가지 이유로 BaseAdapter .. becoz로 채우십시오. MapActivity가 필요하지만 mapActivity에서는 listview를 사용할 수 있습니다. 두 활동 –

관련 문제