2010-04-07 5 views
0

나는 의심이 하나있다. 나는 TextViews의 반복을 가지고 있는데, 내가 원하는 것은 하나의 TextView를 클릭 할 때 반복을 멈추고 웹을 열어보고 싶다. 누가 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 
     } 

그리고 내가 원하는 것은 내가 내가 텍스트 뷰에 있고 작동하지 않는 몇 가지 방법을 사용해보십시오 참조 원하는 텍스트 뷰를 클릭하면 반복을 막을 수있는 조건이다 : 나는이 코드가 있습니다. 누구든지 나를 도울 수 있습니까? 나는이 동적 작업을 수행하기를 원하기 때문에 TextViews를 반복한다. 나는 TextView를 클릭 한 사람으로 알지 못한다. TextView가 반복을 멈추기 위해 클릭 한 것을 알고 싶다. 예를 들어 3 TextView 있으면 그들은 동일한 웹 엽니 다.

감사와 내가 완전히 당신을 이해 모르겠지만 내가 이해에서 당신이 텍스트 뷰를 클릭하면 반복을 중지하려면 영어 실력

답변

0

용서.

그래서 당신이 할 수있는 한 가지 방법이 있습니다. 루프를 제어하는 ​​데 사용할이 클래스의 부울 속성을 선언하십시오.이 경우에는 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; 
        } 
       }); 

그래서 플래그는 루프를 꺼집니다.

+0

답변 해 주셔서 감사합니다.하지만 원하는 해결책을 찾았습니다. 나는 그것이 분명하지 않다는 것을 알고있다. 그래서 나는 내가 원하는 것에 대한 해결책을 제시 할 것입니다. – sgiro

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); 
} 
관련 문제