在Android中使用TextView,TextView,RadioGroup自定义ListView [英] Customized ListView with TextView, TextView, RadioGroup in Android

查看:163
本文介绍了在Android中使用TextView,TextView,RadioGroup自定义ListView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在用ListView开发一个用于创建学生成绩单的应用程序.

I'm developing an application with ListView for Student Marklist creation.

在此应用程序中,列表有10个学生.为这些学生提供的考试分为四个等级.一个学生只能适应四个年级中的一个.

In this application, the List have 10 students. There are four grades provided for the exam which was conducted to those Students. One student can adapt only one grade from the four.

老师将在ListView中为学生分配分数.

The teacher will assign the grade to the student in ListView.

我的xml文件 Studentlist.xml 如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
</ListView>
</LinearLayout>

和我的 row.xml 文件如下:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="500dp"
android:layout_height="fill_parent"
android:padding="10dp" >

<TableRow>

    <TextView
        android:id="@+id/SNo"
        style="@style/text"
        android:layout_width="40dp"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/StudNo"
        style="@style/text"
        android:layout_width="80dp"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/StudName"
        style="@style/text"
        android:layout_width="180dp"
        android:layout_height="wrap_content" />

    <RadioGroup
        android:id="@+id/radioGroup1"
        android:layout_width="160dp"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <RadioButton
            android:id="@+id/radio0"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:checked="true" />

        <RadioButton
            android:id="@+id/radio1"
            android:layout_width="40dp"
            android:layout_height="wrap_content" />

        <RadioButton
            android:id="@+id/radio2"
            android:layout_width="40dp"
            android:layout_height="wrap_content" />

        <RadioButton
            android:id="@+id/radio3"
            android:layout_width="40dp"
            android:layout_height="wrap_content" />
    </RadioGroup>
</TableRow>

现在我正在尝试以下形式的输出:

Now I'm trying for the output in the form of:

1 0001 AAAA <RadioButton1> <RadioButton2> <RadioButton3> <RadioButton4>
2 0002 BBBB <RadioButton1> <RadioButton2> <RadioButton3> <RadioButton4>

如何使用适配器功能?

ArrayAdapter<String,String,String,RadiGroup> studList=new ArrayAdapter<String,String,String,RadiGroup>();

我可以这样使用,以及如何为ListView开发定制的适配器吗?

Can I use like this, and how to develop the customized Adapter for the ListView?

建议我寻求最佳解决方案!

Suggest me for the best solution!

推荐答案

您可以使用从ArrayAdapter继承的类,并重写其getView()方法.

You can use a class inheriting from ArrayAdapter, and overriding its getView() method.

public class StudentAdapter extends ArrayAdapter<Student> {

protected LayoutInflater inflater;

    public StudentAdapter(final Context context) {
        super(context, 0);
        inflater = (LayoutInflater) ((Context) context)
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    public View getView(int position, View convertView, ViewGroup parent) {

        // Note: You should optimize here with re-using convertView

        View rowView = inflater.inflate(R.layout.user_address_row_layout,
                parent, false);
        TextView sNo = (TextView) rowView.findViewById(R.id.sNo);
        sNo.setText(getItem(position).number);
            // same for every field of the row
            // ...

        return rowView;
    }

 }

这篇关于在Android中使用TextView,TextView,RadioGroup自定义ListView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆