尝试将 activity 的输入值传递给另一个 activity (loadurl)

Trying to pass input value of activity to another activity (loadurl)

我试图在 view.loadurl() 中打印 Activity 1 (class first) 的输入值Activity(class 主要Activity)。

这是我的代码:

Activity 1:

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/urlYoutube"
    android:layout_marginTop="95dp"
    android:layout_below="@+id/textView"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:hint="@string/guia_txt"  />

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/btn_download"
    android:id="@+id/button"
    style="@style/AppTheme"
    android:textSize="23sp"
    android:textStyle="normal"
    android:layout_centerVertical="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

first.java:

 findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int str = R.id.urlYoutube;
            Intent launchResult = new Intent(first.this, MainActivity.class);
            launchResult.putExtra("dato", str);
            startActivity(launchResult);
        }
    });

MainActivity.java:

    WebView view = (WebView) this.findViewById(R.id.webkit);
    view.getSettings().setJavaScriptEnabled(true);
    view.getSettings().setBuiltInZoomControls(false);
    view.getSettings().setSupportZoom(false);
    view.setWebViewClient(new MyBrowser());

    Bundle extras = getIntent().getExtras();
    int str = extras.getInt("dato");
    String s = "http://myurl.com/get.php?id=" + Integer.toString(str);
    view.loadUrl(s);

这每次打印相同的值。

打印的内容: http://myurl.com/get.php?id=2131492970

可以帮我吗?

谢谢指教。

如果你这样做:int str = R.id.urlYoutube; 在 android sdk 编译视图后,您将获得小部件的 ID... 而是将视图转换为编辑文本并使用方法 getText().

我假设您想获取该 urlYoutube 中的字符串,对吗?对于 EditText:

像 mUrlYoutube(或任何地方)一样创建视图:

mUrlYoutube = (EditText) findViewById(R.id.urlYoutube);

String str = mUrlYoutube.getText().toString();

您现在正在做的是从 R 中获取资源 ID int 值,编译器会完成所有工作。

当你有一个资源时,你必须这样调用它:

String str = getResource().getString(R.string.urlYoutube);

如果整数:

int str = getResource().getInteger(R.integer.urlYoutube);