データベースからレコードを表示する listView と、リストからテキストを取得して Intent のエクストラとして String を追加するアイテムの setOnClickListener() があります。
これはすべて正常に機能し、リストには都市、町、村などのテキストを含むレコードが表示され、新しいアイテムを追加するとこれも正常に機能します。私の問題は、トーストを使用してインテントに渡された文字列を表示すると、いくつかの余分な文字が追加されることにあります
たとえば、リスト項目 "town" をクリックすると、トーストに "{pg=town}" と表示されます。
Adapter と 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();
}
});