如何以String格式从EditText获取数据集数据?

时间:2018-01-14 07:12:47

标签: android

我想在OnClickListener中获取链接数据,因此我创建了一个带有对象的数组模型,并存储了所有动态的数据。

现在我想提取数据,所以我使用数组对象来获取数据。喜欢 我想用字符串格式链接数据,我使用字符串urls = object.link; ,当我生成吐司时,它显示我为空。

请告诉我如何将链接数据转换为字符串格式,以便我可以在 Uri.parse(urls)上传递;

文件代码:

package com.ejobbox.ejobbox;

import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import java.util.ArrayList;

public class RecyclerViewAdapter extends RecyclerView.Adapter{
    private ArrayList<Model> dataset;
    private Context mContext;

    public RecyclerViewAdapter(ArrayList<Model> mlist, Context context) {
      this.dataset=mlist;
      this.mContext=context;
    }

    public static class ImageTypeViewHolder extends RecyclerView.ViewHolder{
        TextView title,subtitle,link,date;
        ImageView imageView;

        public ImageTypeViewHolder(View itemView){
            super(itemView);
            this.title=(TextView)itemView.findViewById(R.id.title);
            //this.link=(TextView)itemView.findViewById(R.id.link);
            this.subtitle=(TextView) itemView.findViewById(R.id.subtitle);
            this.imageView=(ImageView) itemView.findViewById(R.id.icon);
            this.date=(TextView)itemView.findViewById(R.id.date);
        }
    }
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.postdetails,parent,false);
        return new ImageTypeViewHolder(view);
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
        final Model object=dataset.get(position);


        ((ImageTypeViewHolder) holder).title.setText(object.title);
        ((ImageTypeViewHolder) holder).subtitle.setText(object.subtitle);
        //((ImageTypeViewHolder) holder).link.setText(object.link);
        ((ImageTypeViewHolder) holder).date.setText((CharSequence) object.date);

        ((ImageTypeViewHolder) holder).title.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                String urls=object.link;
                Toast.makeText(mContext,urls, Toast.LENGTH_SHORT).show();

                Intent browserIntent = new Intent(
                        Intent.ACTION_VIEW,
                        Uri.parse(urls));
                mContext.startActivity(browserIntent);

            }
        });

    }

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

2 个答案:

答案 0 :(得分:0)

使用getText() link对象的EditText方法。

这样做:

String urls = ((ImageTypeViewHolder) holder).link.getText().toString();

但在此之前,请删除已注释掉的行。

答案 1 :(得分:0)

        ((ImageTypeViewHolder) holder).title.setText(object.title);

我不知道为什么你在这里直接使用持有人而不是上面这行使用这个

          holder.title.setText(object.title)

这将完美地工作,如果它没有工作,请告诉我