最近,我使用JSON parser
在我的服务器上显示文字。
[{"name":"AAA", "age":"111"},
{"name":"BBB", "age":"222"},
{"name":"CCC", "age":"333"}]
我尝试JSON解析器这个文本。 show listview。
String strData = "";
.
.
.
@Override
protected void onPostExecute(final String result) {
super.onPostExecute(result);
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
try {
JSONArray jsonArray = new JSONArray(result);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject object = jsonArray.getJSONObject(i);
data = object.getString("name") + "." + object.getString("age");
adapter.add(data);
}
} catch (JSONException e) {
e.printStackTrace();
}
ListView listView = (ListView) findViewById(R.id.listview);
listView.setAdapter(adapter);
}
这导致我的手机。
AAA.111
-------
BBB.222
-------
CCC.333
直到这里 但我想在列出项目按钮时单击数据传输。
所以我使用intent.putExtra
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
ListView listView =(ListView) parent;
Intent intent = new Intent(this, anotherActivity.class);
intent.putExtra("information", adapter.getItem(position));
startActivity(intent);
}
});
这是成功的数据传输。 但我不希望所有的数据传输。
例如,。我只发送age
数据传输。
换句话说,显示我的手机name
数据,age
数据。
并传输另一个活动数据。只有name
个数据。
可以通过编程方式进行吗?
如果你不明白。请给我建议。
感谢。
@update问题
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
ListView listView =(ListView) parent;
String data =adapter.getItem(position);
String[] parts = data.split(".");
String name = parts[0];
Log.d(TAG, name); // not showing log.. not work ?..
Intent intent = new Intent(this, anotherActivity.class);
intent.putExtra("information", adapter.getItem(position));
startActivity(intent);
}
});
答案 0 :(得分:4)
在声明你的意图之前试试这个
String data = adapter.getItem(position);
String[] parts = data.split(".");
String name = parts[0];
然后:
Intent intent = new Intent(this, anotherActivity.class);
intent.putExtra("information", name);
startActivity(intent);