【发布时间】:2011-12-10 12:39:50
【问题描述】:
我正在尝试创建一个内部带有 Webview 的 ListView,但应用程序没有显示任何内容。 这是我的代码:
我设置 CustomAdapter 的 MainActivity
public class Web_in_list1Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ListView lv = (ListView)findViewById(R.id.listView2);
ListViewAdapter adapter = new ListViewAdapter(this);
lv.setAdapter(adapter);
}
}
CustomAdapter 的getView 在这里,我得到了 ListView 的布局和 Webview 的 URL
public View getView(int arg0, View convertView, ViewGroup arg2) {
// TODO Auto-generated method stub
LayoutInflater inflater = context.getLayoutInflater();
convertView = inflater.inflate(R.layout.listitem, null);
WebView wv = (WebView)convertView.findViewById(R.id.webview);
wv.getSettings().setJavaScriptEnabled(true);
wv.loadUrl("http://www.google.com");
convertView.setTag(wv);
return convertView;
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical">
<ListView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:id="@+id/listView2"
android:layout_width="fill_parent"/>
</LinearLayout>
listitem.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical">
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
关闭! 用滚动视图解决的问题
【问题讨论】:
-
我觉得这是一种更有创意的电池放电方式。 :D (但遗憾的是我不明白为什么它在这里不起作用)
-
哈哈好感觉:D不认真...我尝试制作一个webview,我可以在其中添加一个View,它随着WebView的内容滚动,所以我尝试制作一个带有标题的列表视图...另一个想法如何解决我的问题?
-
有人有想法吗?请帮忙。
-
好的问题解决了...我使用了滚动视图!
-
如果列表这么长,我认为滚动视图不是解决方案:)。因为 ListView 是为提高内存效率而设计的,所以列表项的视图只用于可见的。
标签: android android-listview android-webview