【发布时间】:2014-04-02 06:18:16
【问题描述】:
我是安卓新手。我被困在这一点上。我只想按位置将 listview onclick 事件的数据获取到另一个页面。这是我的代码。
我的项目在以下行中包含错误
i.putExtra("testonAray",listContents[position].toString());
完整代码如下:
package com.example.listviewdemo;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.example.listviewdemo.CustomHttpClient;
public class MainActivity extends ListActivity {
TextView txt;
String returnString;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String name="sandeep";
ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>();
// define the parameter
postParameters.add(new BasicNameValuePair("email",
name.toString()));
String response = null;
// call executeHttpPost method passing necessary parameters
try {
response = CustomHttpClient.executeHttpPost(
"http://indiaontaxi.com/android/myaccount.php", // your ip address if using localhost server
//"http://omega.uta.edu/~kmr2464/jsonscript.php", // in case of a remote server
postParameters);
// store the result returned by PHP script that runs MySQL query
String result = response.toString();
//parse json data
try {
JSONArray jArray = new JSONArray(result);
int jArrayLength = jArray.length();
final ArrayList<String> listContents = new ArrayList<String>(jArrayLength);
for(int i =0; i<jArray.length(); i++){
JSONObject json_data = jArray.getJSONObject(i);
listContents.add(json_data.getString("source"));
}
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, listContents));
txt = (TextView) findViewById(R.id.txt);
//myListView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, ));
}catch(JSONException e){
Log.e("log_tag","Error parsin data "+e.toString());
}
}
catch (Exception e) {
Log.e("log_tag","Error in http connection!!" + e.toString());
}
/* setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, items));
txt = (TextView) findViewById(R.id.txt);
*/
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
// txt.setText(items[position]);
// Try to send the items[position] in the intent
Intent i = new Intent(this, SecondActivity.class);
i.putExtra("testonAray",listContents[position].toString());
startActivity(i);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
【问题讨论】:
-
NetworkOnMainThreadException请使用 google hot 在 AsyncTask 中进行 httoCalls -
能否提供本教程的链接
标签: android android-intent android-listview