我想在OnClickListener
中获取链接数据,因此我创建了一个带有对象的数组模型,并存储了所有动态的数据。
现在我想提取数据,所以我使用数组对象来获取数据。喜欢 我想用字符串格式链接数据,我使用字符串urls = object.link; ,当我生成吐司时,它显示我为空。
文件代码:
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();}
}
答案 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)
这将完美地工作,如果它没有工作,请告诉我