如何在Android中将TextView添加到GridView

乔·史密斯

我已经知道如何在Android的gridView中添加String,但是我想添加textviews来格式化文本(重力,颜色等)。这是我当前的代码:

GridView gridView = (GridView) findViewById(R.id.grades);
    ArrayList<TextView> display = new ArrayList<TextView>();
    ArrayAdapter<TextView> adapter = new ArrayAdapter<TextView>(this,
            android.R.layout.simple_list_item_1, display);

    gridView.setAdapter(adapter);
    for(int i = 0; i<currentClass.grades.size(); i++)
    {
        TextView name = new TextView(this);
        TextView weight = new TextView(this);
        TextView cur_points = new TextView(this);
        TextView total_points = new TextView(this);
        TextView cur_percent = new TextView(this);

        name.setText(currentClass.grades.get(i).name);
        weight.setText(currentClass.grades.get(i).weight);
        cur_points.setText(currentClass.grades.get(i).cur_points);
        total_points.setText(currentClass.grades.get(i).total_points);
        cur_percent.setText(currentClass.grades.get(i).cur_percent);

        name.setTextColor(Color.WHITE);
        weight.setTextColor(Color.WHITE);
        cur_points.setTextColor(Color.WHITE);
        total_points.setTextColor(Color.WHITE);
        cur_percent.setTextColor(Color.WHITE);

        name.setSingleLine(true);
        weight.setSingleLine(true);
        cur_points.setSingleLine(true);
        total_points.setSingleLine(true);
        cur_percent.setSingleLine(true);

        name.setGravity(Gravity.LEFT);
        weight.setGravity(Gravity.RIGHT);
        cur_points.setGravity(Gravity.RIGHT);
        total_points.setGravity(Gravity.RIGHT);
        cur_percent.setGravity(Gravity.RIGHT);

        display.add(name);
        display.add(weight);
        display.add(cur_points);
        display.add(total_points);
        display.add(cur_percent);

        adapter.notifyDataSetChanged();
    }

不幸的是,当我运行它时,gridview只是给了我每个TextView的信息:“ android.id.widget.TextView({42f20a88等}。

如何将textview添加到gridView?

马捷·斯皮拉尔

像这样尝试一下

gridview.xml

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/gridView1"
    android:numColumns="auto_fit"
    android:gravity="center"
    android:columnWidth="100dp"
    android:stretchMode="columnWidth"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

</GridView>

item.xml

<TextView
    android:id="@+id/grid_item_label"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@+id/label"
    android:layout_marginTop="5px"
    android:textSize="15px" >
</TextView>

自定义适配器类的textView

public class TextViewAdapter extends BaseAdapter {
        private Context context;
        private final String[] textViewValues;

        public TextViewAdapter(Context context, String[] textViewValues) {
            this.context = context;
            this.textViewValues = textViewValues;
        }

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

            LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

            View gridView;

            if (convertView == null) {

                gridView = new View(context);

                // get layout from mobile.xml
                gridView = inflater.inflate(R.layout.item, null);

                // set value into textview
                TextView textView = (TextView) gridView
                        .findViewById(R.id.grid_item_label);
                textView.setText(textViewValues[position]);  
            } else {
                gridView = (View) convertView;
            }

            return gridView;
        }

        @Override
        public int getCount() {
            return textViewValues.length;
        }

        @Override
        public Object getItem(int position) {
            return null;
        }

        @Override
        public long getItemId(int position) {
            return 0;
        }

    }

然后,最后在主类中设置适配器

gridView.setAdapter(new TextViewAdapter(this, YOUR_ARRAY_WITH_TEXT_FOR_TEXTVIEWS));

还请注意,您可以传递任何其他值,例如文本的颜色和构造函数中的另一个参数,然后像...

textView.setColor(textViewColors[position]); 

对于所有textview具有共同点的属性,您只能更改item.xml :)我希望它对您有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Android中将标题添加到GridView?

来自分类Dev

如何在Android中将位图图像添加到TextView

来自分类Dev

如何在Android中将滚动条添加到TextView

来自分类Dev

在Android中将TextView添加到LinearLayout

来自分类Dev

如何在Android中将子视图添加到ImageView

来自分类Dev

如何在Android中将项目添加到快速设置

来自分类Dev

如何在Android中将菜单添加到按钮

来自分类Dev

如何在Android中将图像添加到按钮

来自分类Dev

如何在后面的代码中将TemplateField添加到gridview?

来自分类Dev

如何在ASP.NET中将特定文本添加到gridview单元格值

来自分类Dev

如何在ASP.NET中将特定文本添加到gridview单元格值

来自分类Dev

在Android中将ArrayList对象添加到GridView

来自分类Dev

在Android中将ArrayList对象添加到GridView

来自分类Dev

如何以编程方式在Android中将视图添加到gridview?

来自分类Dev

如何以编程方式在Android中将视图添加到gridview?

来自分类Dev

如何在Android中的for循环的每次迭代中将值添加到HashMap

来自分类Dev

如何在Android中将数据添加到现有的.txt文件

来自分类Dev

如何在Android中将项目从ArrayList <Model>添加到ArrayList <String>?

来自分类Dev

如何在AndroidStudio中将库项目添加到现有的android项目

来自分类Dev

如何在Android中将installDebug.dependsOn(uninstallDebug)添加到Gradle构建文件中?

来自分类Dev

如何在Android Studio中将多个servlet(Google Endpoint)添加到web.xml?

来自分类Dev

如何在android中将标头参数添加到url并从json url获取值

来自分类Dev

如何在Android中将LatLng添加到List <LatLng>中?

来自分类Dev

如何在Android中将按钮添加到推送通知中

来自分类Dev

如何在Android Studio中将快照添加到Roads Google Map

来自分类Dev

如何在RxJava Android中将每个项目添加到列表

来自分类Dev

如何在Android中将画布添加到扩展视图?

来自分类Dev

如何在Eclipse中将Gradle库添加到Android项目?

来自分类Dev

如何在Android中将微调器添加到启动画面

Related 相关文章

  1. 1

    如何在Android中将标题添加到GridView?

  2. 2

    如何在Android中将位图图像添加到TextView

  3. 3

    如何在Android中将滚动条添加到TextView

  4. 4

    在Android中将TextView添加到LinearLayout

  5. 5

    如何在Android中将子视图添加到ImageView

  6. 6

    如何在Android中将项目添加到快速设置

  7. 7

    如何在Android中将菜单添加到按钮

  8. 8

    如何在Android中将图像添加到按钮

  9. 9

    如何在后面的代码中将TemplateField添加到gridview?

  10. 10

    如何在ASP.NET中将特定文本添加到gridview单元格值

  11. 11

    如何在ASP.NET中将特定文本添加到gridview单元格值

  12. 12

    在Android中将ArrayList对象添加到GridView

  13. 13

    在Android中将ArrayList对象添加到GridView

  14. 14

    如何以编程方式在Android中将视图添加到gridview?

  15. 15

    如何以编程方式在Android中将视图添加到gridview?

  16. 16

    如何在Android中的for循环的每次迭代中将值添加到HashMap

  17. 17

    如何在Android中将数据添加到现有的.txt文件

  18. 18

    如何在Android中将项目从ArrayList <Model>添加到ArrayList <String>?

  19. 19

    如何在AndroidStudio中将库项目添加到现有的android项目

  20. 20

    如何在Android中将installDebug.dependsOn(uninstallDebug)添加到Gradle构建文件中?

  21. 21

    如何在Android Studio中将多个servlet(Google Endpoint)添加到web.xml?

  22. 22

    如何在android中将标头参数添加到url并从json url获取值

  23. 23

    如何在Android中将LatLng添加到List <LatLng>中?

  24. 24

    如何在Android中将按钮添加到推送通知中

  25. 25

    如何在Android Studio中将快照添加到Roads Google Map

  26. 26

    如何在RxJava Android中将每个项目添加到列表

  27. 27

    如何在Android中将画布添加到扩展视图?

  28. 28

    如何在Eclipse中将Gradle库添加到Android项目?

  29. 29

    如何在Android中将微调器添加到启动画面

热门标签

归档