2012-10-27 35 views
0

這裏是我的按鈕,點擊收聽Android的意圖發送數據

go.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      // Tab for Photos 
      go(); 
      //photospec.setIndicator(url.getHost().replace("www."," ").replace(".com"," ")); 
     } 
    }); 

這裏是我的go()方法

public void go(){ 
     photospec = tabHost.newTabSpec(""); 
      // setting Title and Icon for the Tab 
     // Intent intent = new Intent(getBaseContext(), SignoutActivity.class); 
     // intent.putExtra("EXTRA_SESSION_ID", sessionId); 
     //startActivity(intent) 
     URL url = null; 
     try { 
      url = new URL(text.getText().toString()); 
     } catch (MalformedURLException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     photospec.setIndicator(url.getHost().replace("www."," ").replace(".com"," ")); 
     photosIntent = new Intent(getBaseContext(),PhotosActivity.class); 
     //photosIntent.setClass(this, PhotosActivity.class); 
     photosIntent.putExtra("URL1", text.getText().toString()); 
     photospec.setContent(photosIntent); 


      if(counter==0){ 

      tabHost.addTab(photospec); 
      } 
      counter++; 

    } 

我在這個方法中的按鈕,點擊方法我打電話的功能,其名稱爲go()

這個go()方法,我創建一個選項卡,我有意圖。在這個意圖,我發送一些

信息到另一個類。

問題是當我第一次點擊按鈕時,我可以正常地將數據發送到另一個類。但是,當我單擊兩次或更多次時,此意圖不會將數據發送到其他類。

+0

究竟你的意思發送數據到其他類?打開另一個標籤,或刷新標籤'photospec'。 – Wenhui

+0

如何刷新標籤? –

回答

0

我認爲問題是你問counter==0,然後增加計數器。下一次代碼tabHost.addTab(photospec)將不會被調用,除非我在這裏錯過了一些東西。

如何:

public void go(){ 
    TabHost.TabSpec photospec = tabHost.newTabSpec(""); 
    URL url = null; 
    try { 
     url = new URL(text.getText().toString()); 
     photospec.setIndicator(url.getHost().replace("www."," ").replace(".com"," ")); 
     Intent photosIntent = new Intent(getBaseContext(),PhotosActivity.class); 
     photosIntent.putExtra("URL1", text.getText().toString()); 
     photospec.setContent(photosIntent); 
     tabHost.addTab(photospec); 
    } catch (MalformedURLException e) { 
     e.printStackTrace(); 
    } 

}