将WebView的数据传递给另一个活动

时间:2014-08-22 10:09:36

标签: android html webview

我设计了一个培训计划和Html文本和图像进入培训。 我想通过一个活动来解决我的html文件以发送另一个活动。

这是MainActivity

        /*
     * ListView item click listener. So we'll have the do stuff on click of
     * our ListItem
     */
    listViewArticles.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {

            switch (position) {
            case 0:
             Intent newActivity0 = new Intent(TrickPage.this,a_Dotted_Lines.class);     
             startActivity(newActivity0);
            break;
            case 1:
             Intent newActivity1 = new Intent(TrickPage.this,TutorialsPage.class);     
             startActivity(newActivity1);
            break;
            case 2:
             Intent newActivity2 = new Intent(TrickPage.this,TutorialsPage.class);     
             startActivity(newActivity2);
            break;
            case 3:
             Intent newActivity3 = new Intent(TrickPage.this,TutorialsPage.class);     
             startActivity(newActivity3);
            break;
            default:
              // Nothing do!
          }

和这个SecondActivity(显示WebView)

public class a_Dotted_Lines extends Activity {
private WebView webView;
@SuppressLint("SetJavaScriptEnabled")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.a_dotted_lines);

// Button HOME
ImageButton ImageButton_home  = (ImageButton) findViewById(R.id.ImageButton_home);
ImageButton_home.setOnClickListener(new View.OnClickListener() {

@Override
   public void onClick(View v) {
    Intent intent = new Intent();
    intent.setClass(a_Dotted_Lines.this, Main.class);
    startActivity(intent);
    overridePendingTransition(R.anim.fadein, R.anim.fadeout);
   }
});
//Button Previous
ImageButton ImageButton_previus  = (ImageButton)
findViewById(R.id.ImageButton_previus);
ImageButton_previus.setOnClickListener(new View.OnClickListener() {

@Override
   public void onClick(View v) {
    //Closing SecondScreen Activity
            finish();
   }
});

webView = (WebView) findViewById(R.id.webview_compontent);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("file:///android_asset/html/article.htm");

}
}

我想从MainActivity发送“file:///android_asset/html/article.htm”或其他地址 可能吗? 对不起我的英语不好

3 个答案:

答案 0 :(得分:0)

是的,是的。您可以通过用于启动Activity的意图传递它。例如

 Intent newActivity3 = new Intent(TrickPage.this,TutorialsPage.class);    
 newActivity3.putExtra("url", "ur_for__case_3");
 startActivity(newActivity3);

您可以通过

检索第二个活动
 getIntent.getExtras().getString("url");

第一个参数是一个键,可以用来在意图中存储/检索值。它必须是唯一的意图

答案 1 :(得分:0)

如果我理解正确,您想将一些数据(在本例中为String)从一个活动传递到另一个活动?如果是这样,是的,你可以,意图。在第一个活动中你可以做到

Intent i = new Intent(this, MyClass.class);
i.putExtra("MY_UNIQUE_ID", "file:///android_asset/html/article.htm");
startActivity(i);

在第二个活动中你可以做(​​在onCreate方法中):

Intent i = getIntent();
i.getStringExtra("MY_UNIQUE_ID");

请注意,ID的惯例是您使用公共静态最终变量并始终使用它。

答案 2 :(得分:0)

试试这个:

创建一个全局变量。

String address;

当用户选择特定的webview时,然后分配地址路径

address="file:///android_asset/html/article.htm";
 Intent i= new Intent(TrickPage.this,TutorialsPage.class);    
 i.putExtra("path", address);
 startActivity(i);

您可以使用以下方法检索第二个活动:

String getaddress;

Intent intent = getIntent();
getaddress= intent.getStringExtra("path");