2010-04-07 125 views
0

我有一個疑問。我有一個TextViews的迭代,我想要的是當我點擊一個TextView時,我想停止迭代並打開一個網頁,我可以知道TextView被點擊了什麼?我有這樣的代碼:我怎麼知道什麼TextView是clickbale?

Iterator<TextView> it = text.iterator(); 
    while(it.hasNext()){ 

test = it.next(); 




test.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) { 
       //mWebView = (WebView) findViewById(R.id.webview); 
       mWebView.setWebViewClient(new WebViewClient() { 
        @Override 
        public boolean shouldOverrideUrlLoading(WebView view, String url) { 
         view.loadUrl(url); 
         return true; 
        } 
       }); 

      mWebView.getSettings().setJavaScriptEnabled(true); 
      mWebView.loadUrl(url); 


       } 


       }); 



     // condition to stop the iteration when i click on TextView 
     } 

,我想什麼是停止迭代當我在,我想看到的,我嘗試使用一些方法,這些方法在TextView的和不工作TextView的點擊情況。任何人都可以幫助我?我有迭代的TextViews,因爲我想這樣做動態,我不知道TextView誰點擊,我想知道什麼TextView是點擊停止迭代,因爲如果我不停止這一點,因爲例如,如果我有3個TextView,他們將打開相同的網頁。

感謝,並原諒我的英語

回答

0

我不知道我理解你完全但從我知道你想停止迭代當你點擊一個TextView。

所以你可以做到這一點。爲這個類聲明一個布爾屬性來控制循環,在這種情況下我稱它爲isStop並且初始值爲false

while(it.hasNext() && !isStop){ 
... 
    } 

然後

public void onClick(View v) { 
isStop = true; 
//mWebView = (WebView) findViewById(R.id.webview); 
       mWebView.setWebViewClient(new WebViewClient() { 
        @Override 
        public boolean shouldOverrideUrlLoading(WebView view, String url) { 
         view.loadUrl(url); 
         return true; 
        } 
       }); 

所以,當你點擊一個TextView的標誌將關閉循環。

+0

謝謝你的回答,但我找到了我想要的解決方案。我知道這個帖子,我說不清楚。所以我要把解決方案放在我想要的東西上。 – sgiro 2010-04-08 10:10:26

0

我想要的解決方案:

在我創建此活動。

OnClickListener s = new OnClickListener() 
{ 
    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 

     text = (TextView) findViewById(v.getId()); 
     mWebView.setWebViewClient(new WebViewClient() { 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) { 
       view.loadUrl(url); 
       return true; 
      } 
     }); 
     mWebView.getSettings().setJavaScriptEnabled(true); 
     mWebView.loadUrl(url); 
    } 
}; 

Iterator<TextView> it = text.iterator(); 
while(it.hasNext()) 
{ 
    text = it.next(); 
    text.setOnClickListener(s); 
}