Android:在回收站视图中设置文本

我们是博格

我正在使用一个以网格样式显示数据的Android应用程序。我又添加了一个TextView,我想在其中显示从服务器获取的一些数据。不幸的是,我不知道该怎么做。目前,我已将数据放入一个类的一个变量(LineItem)中,以网格方式添加其内容。我希望有人可以帮助我解决这个问题。

SectionAdapters.java:

public class SectionAdapters extends RecyclerView.Adapter<SectionViewHolder> {


    private NoteServiceImpl noteService = new NoteServiceImpl();

    private static final int LINEAR = 0;

    private final Context mContext;

    private SectionServiceImpl sectionService = new SectionServiceImpl();

    List<RestSection> restSectionList = new ArrayList<>();

    private int mHeaderDisplay;

    private final ArrayList<LineItem> mItems;

    public SectionAdapters(Context context, int headermode) {
        mContext = context;

        String lastHeader = "";

        int sectionManager = -1;
        int headerCount = -1;
        int sectionFirstPosition = 0;

        mItems = new ArrayList<>();

        restSectionList = this.sectionService.getSectionByCanvas(2500);

// As you can see in the below for loop, I am getting the setting value for LineItems last parameter, and adding it in mItems. But I don't know how to set it. 
        for (int i = 0; i < restSectionList.size(); i++) {
            String header = restSectionList.get(i).getMsectionname();
            RestNote restNote = this.noteService.getFirstNoteForSection(restSectionList.get(i).getMsectionid());
            mItems.add(new LineItem(header, true, sectionManager, sectionFirstPosition, restNote.getMnotetext()));

        }
    }

    public String itemToString(int position) {
        return mItems.get(position).text;
    }

    private void notifyHeaderChanges() {
        for (int i = 0; i < mItems.size(); i++) {
            LineItem lineItem = mItems.get(i);
            if (lineItem.isHeader) {
                notifyItemChanged(i);
            }
        }
    }

    @Override
    public SectionViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view;
// IN the below layout, i.e activity_group_section, there is a textview to be populated
        view = LayoutInflater.from(parent.getContext()).inflate(R.layout.activity_group_section, parent, false);
        return new SectionViewHolder(view);
    }

    @Override
    public void onBindViewHolder(SectionViewHolder holder, int position) {
        final LineItem item = mItems.get(position);
        final View itemView = holder.itemView;
// The first text is set below. 
        holder.bindText(item.text);
        final GridSLM.LayoutParams lp = GridSLM.LayoutParams.from(itemView.getLayoutParams());

        lp.setSlm(item.sectionManager == LINEAR ? LinearSLM.ID : GridSLM.ID);
        lp.setColumnWidth(mContext.getResources().getDimensionPixelSize(R.dimen.grid_column_width));
        lp.setFirstPosition(item.sectionFirstPosition);
        itemView.setLayoutParams(lp);
    }

    @Override
    public int getItemCount() {
        return mItems.size();
    }

   private static class LineItem {

        public int sectionManager;

        public int sectionFirstPosition;

        public boolean isHeader;

        public String text;

// The below line which I have added is something I would like to display in grid. 
        public String otherText;

        public LineItem(String text, boolean isHeader, int sectionManager,
                        int sectionFirstPosition, String otherText) {
            this.isHeader = isHeader;
            this.text = text;
            this.sectionManager = sectionManager;
            this.sectionFirstPosition = sectionFirstPosition;
            this.otherText = otherText;
        }
    }
}

activity_group_section:

  <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="5dip" >

        <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingLeft="5dp"
            android:orientation="vertical">
            <ImageView
                android:id="@+id/sectionimage"
                android:layout_width="140dp"
                android:layout_height="200dp"
                android:scaleType="fitXY"
                android:padding="5dp"
                android:src="@drawable/sectionbackground"
                />

            <TextView
                android:id="@+id/sectionname"
                android:layout_width="90dp"
                android:layout_height="match_parent"
                android:text="@string/textView"
                android:visibility="visible"
                android:gravity="center"
                android:layout_gravity="center_horizontal|top"
                android:maxLines="1"
                android:ellipsize="end"
                android:scrollHorizontally="true"
                android:layout_marginTop="20dp" />

// The guy below is where I want to set text
            <TextView
                android:layout_width="97dp"
                android:layout_height="160dp"

                android:id="@+id/noteText"
                android:layout_gravity="center_horizontal|bottom"
                android:layout_marginBottom="10dp"
                android:layout_marginTop="10dp" />
        </FrameLayout>
    </RelativeLayout>

我希望我的问题很清楚。请让我知道是否需要任何解释。非常感谢。:-)

编辑

SectionViewHolder:我添加了该noteData变量以显示noteData。

public class SectionViewHolder extends RecyclerView.ViewHolder {

    private TextView textView;
    private TextView noteData;
    private ImageView imageView;

    public SectionViewHolder(View itemView) {
        super(itemView);
        textView = (TextView) itemView.findViewById(R.id.sectionname);
        imageView = (ImageView) itemView.findViewById(R.id.sectionimage);
        noteData = (TextView) itemView.findViewById(R.id.noteText);
    }

    public void bindText(String text){
        textView.setText(text);
    }

    public void bindImage(Bitmap bitmap){
        imageView.setImageBitmap(bitmap);
    }

    public void bindNoteData(String data){
        noteData.setText(data);
    }


}
萨缪尔·亚诺夫斯基(Samuil Yanovski)

尝试这样的事情:

@Override
    public void onBindViewHolder(SectionViewHolder holder, int position) {
        final LineItem item = mItems.get(position);
        final View itemView = holder.itemView;
// The first text is set below. 
        holder.bindText(item.text);
        holder.bindNoteData(item.otherText);
        final GridSLM.LayoutParams lp = GridSLM.LayoutParams.from(itemView.getLayoutParams());

        lp.setSlm(item.sectionManager == LINEAR ? LinearSLM.ID : GridSLM.ID);
        lp.setColumnWidth(mContext.getResources().getDimensionPixelSize(R.dimen.grid_column_width));
        lp.setFirstPosition(item.sectionFirstPosition);
        itemView.setLayoutParams(lp);
    }

我添加了这一行:

holder.bindNoteData(item.otherText);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Android的回收站视图中运行for循环?

来自分类Dev

当回收站视图中的数据项增加时,回收站视图数据将位于文本视图下

来自分类Dev

无法设置回收站视图

来自分类Dev

回收站视图(Xamarin Android)

来自分类Dev

如何在Android中将数据从服务器显示到回收站视图中

来自分类Dev

回收站视图中的无线电组

来自分类Dev

如何在回收站视图中更改字体?

来自分类Dev

滑动以在动态更新的回收站视图中关闭

来自分类Dev

限制要在回收站视图中显示的项目

来自分类Dev

项目未显示在回收站视图中

来自分类Dev

回收站视图中的单选单选按钮(重复)

来自分类Dev

回收站视图错误

来自分类Dev

当我从回收站视图中删除项目时,回收站视图没有刷新?

来自分类Dev

通过单击另一个回收站视图中的按钮刷新回收站视图

来自分类Dev

当从搜索视图的过滤器中选择文本时,将先前的结果设置回回收站视图

来自分类Dev

Android:控制平滑滚动浏览回收站视图

来自分类Dev

返回后的Kotlin Android片段空回收站视图

来自分类Dev

Android:片段内的多个回收站视图

来自分类Dev

通过单击回收站视图中的项目更新活动视图

来自分类Dev

回收站视图不刷新

来自分类Dev

回收站视图滚动搞砸了

来自分类Dev

回收站视图位置比较

来自分类Dev

回收站视图不刷新

来自分类Dev

视差对回收站视图中的每个项目都有影响吗?

来自分类Dev

在回收站视图中仅选择一个单选按钮

来自分类Dev

第一次在回收站视图中如何查找创建的物料?

来自分类Dev

如果回收站视图中的cardview项为null,则将其删除

来自分类Dev

无法在回收站视图中添加第二个孩子

来自分类Dev

计算回收站视图中项目列表中项目的总价

Related 相关文章

  1. 1

    如何在Android的回收站视图中运行for循环?

  2. 2

    当回收站视图中的数据项增加时,回收站视图数据将位于文本视图下

  3. 3

    无法设置回收站视图

  4. 4

    回收站视图(Xamarin Android)

  5. 5

    如何在Android中将数据从服务器显示到回收站视图中

  6. 6

    回收站视图中的无线电组

  7. 7

    如何在回收站视图中更改字体?

  8. 8

    滑动以在动态更新的回收站视图中关闭

  9. 9

    限制要在回收站视图中显示的项目

  10. 10

    项目未显示在回收站视图中

  11. 11

    回收站视图中的单选单选按钮(重复)

  12. 12

    回收站视图错误

  13. 13

    当我从回收站视图中删除项目时,回收站视图没有刷新?

  14. 14

    通过单击另一个回收站视图中的按钮刷新回收站视图

  15. 15

    当从搜索视图的过滤器中选择文本时,将先前的结果设置回回收站视图

  16. 16

    Android:控制平滑滚动浏览回收站视图

  17. 17

    返回后的Kotlin Android片段空回收站视图

  18. 18

    Android:片段内的多个回收站视图

  19. 19

    通过单击回收站视图中的项目更新活动视图

  20. 20

    回收站视图不刷新

  21. 21

    回收站视图滚动搞砸了

  22. 22

    回收站视图位置比较

  23. 23

    回收站视图不刷新

  24. 24

    视差对回收站视图中的每个项目都有影响吗?

  25. 25

    在回收站视图中仅选择一个单选按钮

  26. 26

    第一次在回收站视图中如何查找创建的物料?

  27. 27

    如果回收站视图中的cardview项为null,则将其删除

  28. 28

    无法在回收站视图中添加第二个孩子

  29. 29

    计算回收站视图中项目列表中项目的总价

热门标签

归档