我开发了一个Android应用程序。我需要在弹出窗口中显示我的pdf文件(其中只包含一个页面)。我从popup.i开始新活动已将其主题更改为manifest.xml:
<activity
android:name="com.example.myapp.Label"
android:label="@string/title_activity_label"
android:theme="@android:style/Theme.Dialog" >
</activity>
我的Label.java的代码是:
public class Label extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle b=getIntent().getExtras();
String pdfurl=b.getString("url");
Boolean dilg=b.getBoolean("isDialog");
final String googleDocsUrl = "http://docs.google.com/viewer?url=";
WebView mWebView=new WebView(Label.this);
// mWebView.getSettings().setJavaScriptEnabled(true);
WebSettings webSettings = mWebView.getSettings();
webSettings.setPluginState(PluginState.ON);
mWebView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url){
view.loadUrl(url);
return false; // then it is not handled by default action
}
});
mWebView.loadUrl((googleDocsUrl + pdfurl));
setContentView(mWebView);
}
}
我的Android版本是:4.2
它会在弹出窗口中打开新活动但不会打开PDF。我的代码中是否有任何错误?
答案 0 :(得分:1)
您需要使用webview显示自定义对话框。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<WebView
android:id="@+id/webview"
android:scrollbars="vertical"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
显示一个对话框。
Dialog dialog = new Dialog(Activity.this);
dialog.setContentView(R.layout.web_dialog)
WebView wb = (WebView) dialog.findViewById(R.id.webview);
wb.getSettings().setJavaScriptEnabled(true);
WebSettings webSettings = wv.getSettings();
webSettings.setPluginState(PluginState.ON);
wb.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url){
view.loadUrl(image_urlpdf);
return false; // then it is not handled by default action
}
});
wb.loadUrl((googleDocsUrl + image_urlpdf));
dialog.setCancelable(true);
dialog.setTitle("WebView");
dialog.show();