在我的简单应用程序中,我在ListView中有三个ListItem。列表中的一个项目称为主页。创建此项目的目的是我希望一旦用户单击该项目,它应该在WebView部分中显示一个网页。让我们说,点击主页后,Facebook网站(facebook.com)将显示在Webview上。我怎么能这样做?
我的代码:
MainActivity.java:
public class MainActivity extends ActionBarActivity {
TextView textView;
WebView webView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String[] list = {"About Company", "HomePage", "Contact"};
Adapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
ListView listView = (ListView) findViewById(R.id.listId);
listView.setAdapter((ListAdapter) adapter);
textView=(TextView)findViewById(R.id.textViewId);
webView=(WebView)findViewById(R.id.webViewId);
//click the first Item
listView.setOnItemClickListener(
new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id ) {
//String listPosition = String.valueOf(parent.getItemAtPosition(position))
textView.setText("NAME: Facebook\nADDRESS: USA);
}
}
);
//click the second item (Homepage)
//then display the facebook.com
}
}
.XML:
<
TextView
android:layout_width="match_parent"
android:layout_height="120dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/textViewId"
android:layout_centerHorizontal="true"
android:layout_marginTop="210dp"
android:background="#58b0b0"
android:textAlignment="center" />
<ListView
android:layout_width="match_parent"
android:layout_height="150dp"
android:id="@+id/listId"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:background="#f79727" />
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/webViewId"
android:layout_below="@+id/textViewId"
android:layout_centerHorizontal="true"
android:layout_marginTop="56dp" />
[注意:我有RelativeLayout用于设计。 ]
答案 0 :(得分:1)
首先添加您的AndroidManifest Internet权限。
<uses-permission android:name="android.permission.INTERNET"/>
现在上课:
public class MainActivity extends ActionBarActivity {
WebView webViewId;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Get webview
webViewId = (WebView) findViewById(R.id.webViewId);
webViewId.getSettings().setJavaScriptEnabled(true);
webViewId.getSettings().setLoadWithOverviewMode(true);
webViewId.getSettings().setUseWideViewPort(true);
webViewId.getSettings().setBuiltInZoomControls(true);
webViewId.getSettings().setPluginState(WebSettings.PluginState.ON);
webViewId.getSettings().setPluginsEnabled(true);
webViewId.setWebViewClient(new HelloWebViewClient());
//load url
webViewId.loadUrl("http://www.facebook.com");
//.........//
}//end oncreate
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
}
现在,您可以更改webViewId.loadUrl("http://www.facebook.com");
点击ListView
<强>建议强>
不要使用RelativeLayouts,请始终使用FrameLayout或LinearLayouts最好适应不同的屏幕。