以下是我的.xml布局文件中的一段:
<ScrollView
android:layout_width = "match_parent"
android:layout_height = "300dp" >
<TextView
android:id="@+id/statementdatetv"
android:layout_width="61dp"
android:layout_height="300dp"
android:text="DATE"
android:textSize="10dp" />
<TextView
android:id="@+id/statementlocationtv"
android:layout_width="95dp"
android:layout_height="300dp"
android:text="LOCATION" android:textSize="10dp"/>
<TextView
android:id="@+id/statementshoptypetv"
android:layout_width="95dp"
android:layout_height="300dp"
android:text="SHOPTYPE" android:textSize="10dp"/>
<TextView
android:id="@+id/statementpricetv"
android:layout_width="fill_parent"
android:layout_height="300dp"
android:text="PRICE" android:layout_weight="1" android:textSize="10dp"/>
</ScrollView>
</LinearLayout>
ScrollView中的TextViews将从SQL数据库中填充。在添加ScrollView之前一切正常,但之后它只是出现了错误?
不幸的是我不知道哪个错误,是不是可以将SQL数据库中的值填充到ScrollView内的TextView中?
我想拥有ScrollView的原因是因为可以输出很多数据,我希望它们都在同一页面上,因此ScrollView是完美的(或者我认为)解决方案!
谢谢!
答案 0 :(得分:1)
使用ListView
试试这个MyAdapter adapteres;
list = (ListView) findViewById(R.id.grp_list);
db = new DatabaseHelper(this);
contacts = db.getAllContacts();
adapteres = new MyAdapter(getBaseContext(), (ArrayList<Contact>) contacts);
list.setAdapter(adapteres);
和MyAdapter类:
public class MyAdapter extends BaseAdapter{
Button btn;
@SuppressWarnings("unused")
private Context context;
private ArrayList<Contact> contact;
private LayoutInflater mInflater;
public MyAdapter(Context context, ArrayList<Contact> contacts) {
this.context = context;
this.contact = contacts;
mInflater = LayoutInflater.from(context);
}
public int getCount() {
return contact.size();
}
public Object getItem(int position) {
return contact.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(int pos, View view, ViewGroup parent) {
if (view == null) {
view = mInflater.inflate(R.layout.group_row, parent, false);
}
Contact item = contact.get(pos);
TextView name = (TextView) view.findViewById(R.id.group_name);
name.setText(item.getName());
}
}
答案 1 :(得分:0)
如果要显示来自DB的一些记录,可能最好的方法是使用ListViev而不是ScrollView。你应该在网上找到很多关于ListViev,CursorAdapter的例子。
答案 2 :(得分:0)
在滚动视图中使用LinearLayout。 :)
<ScrollView
android:layout_width = "match_parent"
android:layout_height = "300dp" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
android:id="@+id/statementdatetv"
android:layout_width="61dp"
android:layout_height="300dp"
android:text="DATE"
android:textSize="10dp" />
<TextView
android:id="@+id/statementlocationtv"
android:layout_width="95dp"
android:layout_height="300dp"
android:text="LOCATION" android:textSize="10dp"/>
<TextView
android:id="@+id/statementshoptypetv"
android:layout_width="95dp"
android:layout_height="300dp"
android:text="SHOPTYPE" android:textSize="10dp"/>
<TextView
android:id="@+id/statementpricetv"
android:layout_width="fill_parent"
android:layout_height="300dp"
android:text="PRICE" android:layout_weight="1" android:textSize="10dp"/>
</LinearLayout>
</ScrollView>