首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不工作的活动之间传递数据

在不工作的活动之间传递数据
EN

Stack Overflow用户
提问于 2011-04-04 09:08:31
回答 1查看 283关注 0票数 0

我试图将一些数据从一个活动传递到一个新的活动,但每次我推送一个列出的项目时,它都会显示传递的意图,但没有传递信息。toast弹出窗口显示了我试图在新活动之前显示的正确数据。

有谁能帮帮忙。

TimsList.java

代码语言:javascript
复制
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

代码语言:javascript
复制
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 + "");
 }

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-05 14:21:57

通过更改修复

代码语言:javascript
复制
i.putExtra("ct_phone_pass", "ct_phone");

代码语言:javascript
复制
i.putExtra("ct_phone_pass", ct_phone[position]);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5533668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档