我在列表视图项目中使用以下布局。
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://scheme.android.com/apk/res/android"
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingLeft="10dip"
android:textSize="18sp"
android:minHeight="40sp"
/>
但是我在logcat java.lang.RuntimeException中收到错误...你必须提供layout_width参数。
我的main.xml是
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget28"
android:background="#ff000033"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:layout_width="70px"
android:layout_height="30px"
android:paddingLeft="2px"
android:paddingTop="2px"
android:background="@drawable/ic_launcher"
></ImageView>
<ListView
android:id="@+id/myListView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
这是我的活动onCreate code
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
context=this.getApplicationContext();
this.setTitle("NP Headline News");
myListView=(ListView)findViewById(R.id.myListView);
myListView.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View v, int index,long id) {
// TODO Auto-generated method stub
String urlAddress=urlAddresses[index];
String urlCaption = urlsCaptions[index];
}
});
int layoutId=R.layout.simple_list_item_1;
// int layoutId=android.R.layout.simple_list_item_1;
aa = new ArrayAdapter<String>(this,layoutId,this.urlsCaptions);
myListView.setAdapter(aa);
}
我认为这与我的simple_list_item_1有关,因为如果我使用android.R.layout.simple_list_item_1那么每件事都可以正常
答案 0 :(得分:2)
这是您的错误清除布局:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingLeft="10dip"
android:textSize="18sp"
android:minHeight="40sp"
/>
您能否将错误包含的代码与上面的代码区分开来。
我希望你们在代码的时候不要紧张和催促,这必然会导致你被阻塞和混淆。
对于这些类型的错误,您可以使用DDMS帮助调试自己。 因为代码非常简单易于查看。
关于之前答案的一些说法:
不需要在TextView
文件内声明View
或任何Layout
的人。
它也是View
,所以它可以独自坐在Canvas
中。
问题不在于"fill_parent"
和"match_parent"
某事。
我想你现在也可能会紧张,因为我花了这么多时间来告诉你错误的原因。
我们走了,
错误是因为只是在以下行中,
xmlns:android="http://schemas.android.com/apk/res/android"
在上面一行中,您错误地输入了scheme
而不是schemas
。
这是错误。
所以只有我提到过,如果你看一下带有时态的代码,你就可以轻松搞定。
xmlns
表示命名空间,应该是正确的,以使android:
前缀属性有价值。
希望您理解,答案对您有所帮助。
答案 1 :(得分:0)
您应该将TextView放在布局下,因为您使用的是独特的TextView,您可以添加LinearLayout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView xmlns:android="http://scheme.android.com/apk/res/android"
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingLeft="10dip"
android:textSize="18sp"
android:minHeight="40sp"
/>
</LinearLayout>
答案 2 :(得分:0)
我猜问题来自不同的东西。
您正在进行自定义项目视图,但您使用标准的AdapterView。
对于标准的arrayAdapter,您需要实现预期的结构。
或者,您可以构建自己的ArrayAdapter并提供专用的getView