Мое приложение - новостное приложение. состоящий из 5 вкладок или более (это будет настройка, основанная на каждом требовании пользователя).
Когда приложение "Пуск" я создаю 5 вкладок динамически и создаю веб-просмотр в качестве намерения для каждой вкладки, мне просто нужно передать URL-адрес для каждой вкладки в намерение здесь моего кода.
Это основной вид деятельности
package news.mobile;
import android.app.Activity;
import android.os.Bundle;
import android.app.TabActivity;
import android.widget.TabWidget;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
import android.content.Intent;
public class NewsMobile extends TabActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TabHost tabHost = getTabHost();
// Here I create the tabs dynamically.
for(int i=0;i<5;i++){
tabHost.addTab(
tabHost.newTabSpec("tab"+i)
.setIndicator("Politics")
// I need to pass an argument to the WebviewActivity to open a
// specific URL assume it is "http://mysite.com/?category="+i
.setContent( new Intent(this, WebviewActivity.class)));
}
tabHost.setCurrentTab(0);
}
}
Это моя активность в Webview Creator
package news.mobile;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
public class WebviewActivity extends Activity {
WebView browse;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
browse=new WebView(this);
setContentView(browse);
// I need the following line to read an argument and add it to the url
browse.loadUrl("http://mysite.com/?category=");
}
}
Вы можете использовать Bundle следующим образом:
Bundle bundle = new Bundle();
String url = "http://www.google.com";
bundle.putString("urlString", url);
Intent intent = new Intent(ThisActivity.this, NewActivity.class);
intent.putExtras(bundle);
startActivity(intent);
Если это кому-то поможет, вот дополнительная информация, которую @Shehabix просил:
Поэтому начните работу с веб-просмотром, как показано в принятом ответе
Bundle bundle = new Bundle();
String url = "http://www.google.com";
bundle.putString("urlString", url);
Intent intent = new Intent(ThisActivity.this, NewActivity.class);
intent.putExtras(bundle);
startActivity(intent);
Вот как перехватить эту информацию в активности веб-просмотра
public class MyWebView extends Activity {
private WebView webView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.asset_web_view);
//get url stored in intent
String url = super.getIntent().getExtras().getString("urlString");
loadUrlInWebView(url);
}
private void loadUrlInWebView(String url){
webView = (WebView) findViewById(R.id.mywebview);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl(url);
}
}