2011-07-02 36 views
1

こんにちは皆私はサーバーからデータを取得している次のコードを持っています。アイテムをクリックすると、サーバーから取得したIDが表示されます。トーストに出演する代わりに、私は別のアクティビティに渡したいと思う。ここorginalコードがアクティビティ間の値の受け渡し

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(); 

      } 
     }); 

    } 

である私は、このコードを調整しようとしていますが、毎回その次の方法で行わIDの

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

を「強制的に閉じるように」。しかし、今...ウマルこんにちは私はあなたに質問がいくつかあり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を投稿してください... – Dinash

答えて

2

でそれを置き換えることができますどのようにあなたはトースト文を持っている場所で始まる新しい活動の一部を挿入しようとしています。そうであれば、それを挿入した後に強制終了ダイアログが来ます。あなたが名前を渡してクラスを持っているかどうかを確認してください。マニフェストのアクティビティも定義してください。私たちはあなたの問題を解決するために..

+0

IDのために今私はidの代わりにemployenameを入れたいのでしてくださいそれについて案内してください – umar

+0

あなたはこの声明からトーストの価値を得ましたか? Toast.makeText(Test.this、 "ID '" + o.get( "id")+ "'をクリックしました。"、Toast.LENGTH_SHORT).show(); ' – Dinash

関連する問題