2013-03-06 58 views
1

我不確定標題是否清楚地說明了我在這裏的困難,但我想保持標題簡短。無論如何,我正在一個項目在Android中顯示在WebView中的Flash文件。代碼很簡單但重複。這就是爲什麼我想削減重複部分的原因。我有一個顯示文本的活動,如果有與該特定文本關聯的swf文件,則可以選擇播放按鈕。一旦我點擊播放按鈕swf文件播放。現在有很多swf文件和許多文本頁面。我不想爲'n'文件和swf動畫寫'n'活動。所以在下面的代碼中你會看到一個文件a.swf。我想用b.swf,c.swf等來改變這個特定的值。我怎樣才能做到這一點?任何建議表示讚賞。提前致謝。動態替換HTML參數的值

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

    } 
} 

回答

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; 
} 
+0

我從另一個活動(播放此活動的活動)獲取swf文件的名稱如何通過intent發送swf文件名? putExtra方法應該是什麼?比如說文件名是b.swf – 2013-03-06 07:09:51

+1

是的,你可以將數據作爲帶有意圖的字符串傳遞。閱讀http://android.mayuonline.com/2011/05/20/passing-data-with-intent/ – 2013-03-06 07:14:55

+0

非常感謝@Mayu Mayooresan – 2013-03-06 08:53:06