Заполнение ScrollView с помощью TextViews, Android Eclipse - PullRequest
1 голос
/ 02 апреля 2012

Вот фрагмент из моего файла макета .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>

TextViews внутри ScrollView должны быть заполнены из базы данных SQL. Все работало нормально до того, как был добавлен ScrollView, но потом он просто выдал ошибку?

К сожалению, я не знаю, какая ошибка, просто невозможно заполнить значения из базы данных SQL в TextView, который находится внутри ScrollView?

Причина, по которой я хочу иметь ScrollView, заключается в том, что большое количество данных может быть выведено, и я хочу, чтобы все они были на одной странице, поэтому ScrollView был идеальным (или я так думал) решением!

Спасибо!

Ответы [ 3 ]

2 голосов
/ 02 апреля 2012

Попробуйте, используя 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());


    }


}
0 голосов
/ 02 апреля 2012

использовать 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>
0 голосов
/ 02 апреля 2012

Если вы хотите показать некоторые записи из БД, вероятно, лучше всего использовать ListViev вместо ScrollView.Вы должны найти множество примеров для ListViev, CursorAdapter в сети.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...