尝试将 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);
我试图在 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);