2011-07-02 26 views
1

大家好,我有以下代码是retreving从服务器的一些数据,当我在任何项目上单击它告诉我的ID是从服务器检索。而不是显示在我想要传递给另一个活动的吐司。这里是原单码传递值

public class Test extends ListActivity { 
     Prefs myprefs = null; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.listplaceholder); 
     this.myprefs = new Prefs(getApplicationContext()); 
     // install handler for processing gui update messages 
     ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>(); 
     JSONObject json = JSONfunctions.getJSONfromURL("http://midsweden.gofreeserve.com/proj/androidjson.php?identifier=" + 
     Test.this.myprefs.getPersonalno()); 

     try{ 

      JSONArray earthquakes = json.getJSONArray("services"); 

      for(int i=0;i<earthquakes.length();i++){       
       HashMap<String, String> map = new HashMap<String, String>();  
       JSONObject e = earthquakes.getJSONObject(i); 

       map.put("id", String.valueOf(i)); 
       map.put("pic", "Service name : " + e.getString("employeepic")); 
       map.put("serviceinfo", "" + e.getString("employeename")+ " : "+ e.getString("starttime") 
         +" To " + e.getString("endtime")); 
       mylist.add(map);    
      }  
     }catch(JSONException e)  { 
      Log.e("log_tag", "Error parsing data "+e.toString()); 
     } 

     ListAdapter adapter = new SimpleAdapter(this, mylist , R.layout.test, 
         new String[] { "servicename", "serviceinfo" }, 
         new int[] { R.id.item_title, R.id.item_subtitle }); 

     setListAdapter(adapter); 

     final ListView lv = getListView(); 
     lv.setTextFilterEnabled(true); 
     lv.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) {    
       @SuppressWarnings("unchecked") 
       HashMap<String, String> o = (HashMap<String, String>) lv.getItemAtPosition(position);     
       Toast.makeText(Test.this, "ID '" + o.get("id") + "' was clicked.", Toast.LENGTH_SHORT).show(); 

      } 
     }); 

    } 

我试图调整这一代码,但每一次“强制关闭”

Intent intent = new Intent(Test.this, passing.class); 
intent.putExtra("Employename", employeename); 
startActivity(intent); 

的ID,它通过以下方式来完成。但现在如何与employename更换

lv.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) {    
      @SuppressWarnings("unchecked") 
       HashMap<String, String> o = (HashMap<String, String>) lv.getItemAtPosition(position);     
      Intent intent = new Intent(Test.this, passing.class); 
      intent.putExtra("id", id); 
      startActivity(intent); 

      } 
     }); 

} 
+1

请你张贴的logcat的......因为这应该做的笏你[R试图做... – Dinash

回答

2

喜奥马尔我有几个问题要你......你有没有试过在插入你有土司声明的地方开始新的活动的一部分。如果是的话,并插入该部队密切对话框出现。请检查您是否有名称传递类,并在清单中还定义了一个活动...如果你仍然得到力闭合ANR刚刚发布您的logcat,这将有助于后我们为您解决问题..

+0

的ID,它的完成,现在我只想把employename而不是ID的,所以请引导我关于它 – umar

+0

你从这个声明中得到了烤面包的价值吗? 'Toast.makeText(Test.this, “ID '” + o.get( “ID”)+ “' 被单击。”,Toast.LENGTH_SHORT).show();' – Dinash