我正在尝试将一些数据从一个活动传递到一个新活动,但每次我按下列出的项目时,它都会显示已传递的意图,但不会传递信息。 toast弹出窗口显示我正在尝试在新活动之前显示的正确数据。
任何人都可以帮忙。
TimsList.java
public class TimsList extends ListActivity {
int ct_id;
String[] ct_number = null;
String[] ct_address = null;
String[] ct_phone = null;
String[] ct_fax = null;
String[] ct_email = null;
String[] ct_city = null;
String[] ct_province = null;
String[] ct_country = null;
String[] ct_pcode = null;
String[] ct_long = null;
String[] ct_lat = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
String result = null;
InputStream is = null;
StringBuilder sb=null;
//http post
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.bob.com/app_main_list.php");
//httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
Log.e("log_tag", "Error in http connection"+e.toString());
}
//convert response to string
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
sb = new StringBuilder();
sb.append(reader.readLine() + "\n");
String line="0";
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result=sb.toString();
}catch(Exception e){
Log.e("log_tag", "Error converting result"+e.toString());
}
//paring data
JSONArray jArray;
try{
jArray = new JSONArray(result);
JSONObject json_data=null;
ct_number=new String[jArray.length()];
ct_address=new String[jArray.length()];
ct_phone=new String[jArray.length()];
ct_fax=new String[jArray.length()];
ct_email=new String[jArray.length()];
ct_city=new String[jArray.length()];
ct_province=new String[jArray.length()];
ct_country=new String[jArray.length()];
ct_pcode=new String[jArray.length()];
ct_long=new String[jArray.length()];
ct_lat=new String[jArray.length()];
for(int i=0;i<jArray.length();i++){
json_data = jArray.getJSONObject(i);
ct_id=json_data.getInt("location_id");
ct_number[i]=json_data.getString("store_number");
ct_address[i]=json_data.getString("store_address");
ct_phone[i]=json_data.getString("store_phone");
ct_fax[i]=json_data.getString("store_fax");
ct_email[i]=json_data.getString("store_email");
ct_city[i]=json_data.getString("store_city");
ct_province[i]=json_data.getString("store_province");
ct_country[i]=json_data.getString("store_country");
ct_pcode[i]=json_data.getString("store_pcode");
ct_long[i]=json_data.getString("store_long");
ct_lat[i]=json_data.getString("store_lat");
}
}
catch(JSONException e1){
Toast.makeText(getBaseContext(), "No Addresses Found" ,Toast.LENGTH_LONG).show();
} catch (ParseException e1) {
e1.printStackTrace();
}
setListAdapter(new
ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,ct_address));
ListView lv;
lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> timslist, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(), ct_phone[position]+" was Clicked", Toast.LENGTH_SHORT).show();
Intent i = new Intent(getApplicationContext(), TimsListMore.class);
//i.putExtra("ct_id_pass", "ct_id");
//i.putExtra("ct_number_pass", "ct_number");
//i.putExtra("ct_address_pass", "ct_address");
i.putExtra("ct_phone_pass", "ct_phone");
//i.putExtra("ct_fax_pass", "ct_fax");
//i.putExtra("ct_email_pass", "ct_email");
//i.putExtra("ct_city_pass", "ct_city");
//i.putExtra("ct_province_pass", "ct_province");
//i.putExtra("ct_country_pass", "ct_country");
//i.putExtra("ct_pcode_pass", "ct_pcode");
//i.putExtra("ct_long_pass", "ct_long");
//i.putExtra("ct_lat_pass", "ct_lat");
startActivity(i);
}
});
}
}
TimsListMore.java
public class TimsListMore extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.timslistmore);
Intent i = getIntent();
Bundle b = i.getExtras();
String string1 = b.getString("ct_phone_pass");
//String string2 = b.getString("ct_id_pass");
TextView tv1 = (TextView) findViewById(R.id.textview);
tv1.setText("" + string1 + "");
}
}
答案 0 :(得分:0)
通过更改
修复i.putExtra("ct_phone_pass", "ct_phone");
到
i.putExtra("ct_phone_pass", ct_phone[position]);