2010-04-07 119 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); 
} 
相关问题