我不确定这个标题是否清楚地说明了我的难度,但我想保持标题简短。无论如何,我正在研究Android中的一个项目,它在WebView中显示Flash文件。代码很简单但重复。这就是为什么我要削减重复部分的原因。我有一个显示文本的活动,如果有与该特定文本相关联的swf文件,则可以选择播放按钮。一旦我点击播放按钮swf文件播放。现在有很多swf文件和许多文本页面。我不想为'n'文件和swf动画编写'n'活动。因此,在下面的代码中,您将看到一个文件a.swf。我想用b.swf,c.swf等改变那个特定的值。我怎样才能做到这一点?任何建议表示赞赏。提前谢谢。
package com.example.testflashfile;
import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.view.Window;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.WebSettings.PluginState;
public class PlayAnimationActivity extends Activity
{
WebView presentationWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
setContentView(R.layout.animation_one);
String html =
"<object><embed src=\"file:///android_asset/a.swf\" width=\"100%\" height=\"100%\" max-width=\"100%\"> </embed> </object>";
String mimeType = "text/html";
String encoding = "utf-8";
WebView wv=(WebView) findViewById(R.id.presentation_webview);
wv.getSettings().setJavaScriptEnabled(true);
wv.getSettings().setPluginState(PluginState.ON);
wv.loadDataWithBaseURL("null", html, mimeType, encoding, "");
wv.setWebViewClient(new HelloWebViewClient());
}
public class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
答案 0 :(得分:1)
这是用户进行选择时将要更改的部分
String html = "<object><embed src=\"file:///android_asset/a.swf\" width=\"100%\" height=\"100%\" max-width=\"100%\"> </embed> </object>";
您必须编写一个接收用户选择的新方法,并返回与选择相关的字符串
public String getMyHTMLString(String userSelection){
String htmlString = "<object><embed src=\"file:///android_asset/"+userSelection+".swf\" width=\"100%\" height=\"100%\" max-width=\"100%\"> </embed> </object>";
return htmlString;
}