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 :(得分: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时,该标志将关闭循环。
答案 1 :(得分: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);
}