2012-11-05 5 views
1

안녕하세요 저는 onclick으로 URL의 가치를 얻으려고하고 있지만 저에게는 효과가 없습니다. 다음 코드를 사용하고 있습니다.안드로이드가 onclick으로 URL을 가져옵니다.

import android.net.Uri; 
import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.View; 
import android.webkit.WebView; 


public class MainActivity extends Activity { 
String valueOfURL = null; 
WebView webView; 
Intent browserIntent; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    browserIntent = new Intent("android.intent.action.VIEW", Uri.parse("http://www.example.com")); 
    startActivity(browserIntent); 
} 

public String handleLinkClicked(String value) { 
    if (value.startsWith("http")) 

    valueOfURL = value; 
    return valueOfURL; 

} 
public View.OnClickListener myhandler = new View.OnClickListener() { 
    public void onClick(View view) { 
    handleLinkClicked(valueOfURL); 
    webView.loadUrl("http://docs.google.com/gview?embedded=true&url=valueOfURL"); 
    }}; 
} 

첫 번째 페이지는 잘로드되지만 그 페이지에서 pdf를 클릭하면로드되지 않습니다. 기본적으로 내가하려는 것은 URL의 가치를 얻고 Google 문서를 통해 읽는 데 사용되는 변수에 전달하는 것입니다. pdf 파일이며 URL은 다음과 같습니다. http://wwww.example.com/c/document_library/get_file?

누구나 내가 잘못 가고있는 곳을보고 올바른 방향으로 나를 가리킬 수 있습니까?

당신은

답변

1

당신은 당신의 onClickListener()myhandler 어떤 View로 설정하지 않은 하라구요. 코드 (browserIntent)는 URL을 처리하기 위해 웹 브라우저 (응용 프로그램에 연결되지 않은 새 Activity)를 자동으로 시작하는 암시 적 intent을 시작합니다. 앱에서 브라우징을 제어해야하는 경우 레이아웃 내에 WebView을 구현하고 암시 적 인 텐트 대신 onClickListener을 설정해야합니다. Android가 암시적인 의도를 처리하는 방법에 대해 link을 확인하십시오.

+0

어떻게 수행할까요? –

+0

업데이트 된 답변을 확인하십시오. 레이아웃 내에 WebView가 있어야하며 프로그래밍 방식으로 레이아웃을 설정해야합니다. "android.intent.action.VIEW"를 사용하면 안드로이드 시스템이 열 방법을 결정하기 위해 남겨진 암시 적 인 텐트가 시작됩니다. 레이아웃 안의 WebView에는로드되지 않습니다. –

관련 문제