0

我有一个疑问。我有一个 TextViews 的迭代,我想要的是当我点击一个 TextView 时,我想停止迭代并打开一个网页,我能知道点击了什么 TextView?我有这个代码:

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 他们将打开同一个网页。

谢谢并原谅我的英语

4

2 回答 2

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 时,该标志将关闭循环。

于 2010-04-08T09:45:10.457 回答
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);
}
于 2010-04-08T10:13:50.327 回答