0

1つ疑問があります。私は TextViews の反復を持っています。私が欲しいのは、1 つの TextView をクリックしたときです。反復を停止して Web を開きたいのですが、どの 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にあるいくつかのメソッドを使用しようとしましたが、動作しません。誰でも私を助けることができますか?私はこの動的な操作を行いたいため、TextView の反復を行っています。また、クリックした TextView がわからず、反復を停止するためにクリックした TextView を知りたいのです。これを停止しない場合は、たとえば、TextView が 3 つある場合、同じ Web が開きます。

ありがとう、私の英語を許して

4

2 に答える 2

0

I'm not sure I understand you entirely but from what I understand you want to stop the Iteration when you click on a TextView.

So one way you can do it is. Declare a boolean property for this class to use to control the loop, in this case I called it isStop and initial value with false.

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

then

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;
                   }
               });

So when you click on a TextView the flag will turn off the loop.

于 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 に答える