2013-05-28 37 views
0

我有一個listView顯示來自數據庫的記錄,還有一個setOnClickListener()用於從列表中拉取文本並將該字符串作爲額外Intent添加的項目。從ListView Items中提取字符串,添加字符?

這一切工作正常,我的列表顯示與文本如城市,城鎮,村莊,並且當我添加新項目時這也工作正常。我的問題在於當我使用吐司顯示傳遞給意圖的字符串時,一些額外的字符被添加

例如,我點擊列表項「鎮」,吐司顯示「{pg = town}」如何阻止這種情況發生/爲什麼會發生?

適配器和onClick的代碼如下。

在此先感謝。

public void listChange() { 
     Cursor c = database.rawQuery("select * from Towns", null); 
     c.moveToFirst(); 
     primeTownlist = new ArrayList<HashMap<String, String>>(); 
     while (!c.isAfterLast()) { 
      primeTownMap = new HashMap<String, String>(); 
      primeTownMap.put("pg", c.getString(1)); 
      primeTownlist.add(primeTownMap); 
      c.moveToNext(); 
     } 
     c.close(); 
     primeGoalAdapter = new SimpleAdapter(this, primeTownlist, R.layout.primeTowns, 
       new String[] { "pg" }, new int[] {R.id.bt_primeTown}); 
     primeTowns.setAdapter(primeTownAdapter); 
    } 

primeTowns.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> list, View view, int position, long id) { 
       String title = list.getItemAtPosition(position).toString(); 
       Intent i = new Intent("com.example.towns.town"); 
       i.putExtra("town", title); 
       startActivity(i); 
       Toast.makeText(getApplicationContext(), 
         (title), Toast.LENGTH_SHORT).show(); 

       } 

     }); 

回答

0

那是因爲你的列表是一個HashMap列表。嘗試

String title = ((HashMap<String,String>) list.getItemAtPosition(position)).get("pg"); 
+0

乾杯,應該已經意識到真的! 雖然編輯它一點點雖然 – user1753360