java Textview无法设置文本,但Imageview正在工作
我的代码有一些问题。我无法设置Textview,但ImageView正在工作。这是我的xml文本视图。我正在使用适配器和侦听器接口。 错误:空对象引用上的textview
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
安卓:layout_width="match_parent"
安卓:layout_height="wrap_content"
安卓:descendantFocusability="blocksDescendants"
安卓:orientation="vertical"
xmlns:app="http://schemas.安卓.com/apk/res-auto">
<View
安卓:layout_width="match_parent"
安卓:layout_height="@dimen/spacing_middle" />
<安卓x.cardview.widget.CardView
安卓:layout_width="match_parent"
安卓:layout_height="wrap_content"
安卓:layout_marginLeft="@dimen/spacing_middle"
安卓:layout_marginRight="@dimen/spacing_middle"
安卓:visibility="visible"
app:cardCornerRadius="0dp"
app:cardElevation="4dp">
<LinearLayout
安卓:layout_width="match_parent"
安卓:layout_height="wrap_content"
安卓:orientation="vertical">
<LinearLayout
安卓:layout_width="match_parent"
安卓:layout_height="wrap_content"
安卓:layout_marginBottom="@dimen/spacing_medium"
安卓:layout_marginLeft="@dimen/spacing_large"
安卓:layout_marginRight="@dimen/spacing_large"
安卓:layout_marginTop="@dimen/spacing_large"
安卓:gravity="center_vertical"
安卓:orientation="horizontal">
<com.mikhaellopez.circularimageview.CircularImageView
安卓:id="@+id/imgGambar"
安卓:layout_width="@dimen/spacing_xxlarge"
安卓:layout_height="@dimen/spacing_xxlarge"
安卓:foreground="@color/overlay_light_20"
app:civ_shadow="true"
app:civ_shadow_radius="0"
安卓:src="@drawable/photo_female_2"
app:civ_border="false" />
<View
安卓:layout_width="@dimen/spacing_large"
安卓:layout_height="0dp" />
<LinearLayout
安卓:layout_width="match_parent"
安卓:layout_height="wrap_content"
安卓:orientation="vertical">
<TextView
安卓:id="@+id/tvName"
安卓:layout_width="match_parent"
安卓:layout_height="wrap_content"
安卓:gravity="center_vertical"
安卓:text="Emma Richmond"
安卓:textAppearance="@style/TextAppearance.AppCompat.Subhead"
安卓:textColor="@color/grey_90" />
<LinearLayout
安卓:layout_width="wrap_content"
安卓:layout_height="wrap_content"
安卓:layout_marginTop="@dimen/spacing_small"
安卓:orientation="horizontal">
<TextView
安卓:layout_width="match_parent"
安卓:layout_height="wrap_content"
安卓:gravity="center_vertical"
安卓:text="in "
安卓:textAppearance="@style/TextAppearance.AppCompat.Caption"
安卓:textColor="@color/grey_40" />
<TextView
安卓:layout_width="match_parent"
安卓:layout_height="wrap_content"
安卓:gravity="center_vertical"
安卓:text="Hwy, Carthage"
安卓:textAppearance="@style/TextAppearance.AppCompat.Caption"
安卓:textColor="@color/light_blue_400"
安卓:textStyle="bold" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<TextView
安卓:id="@+id/tvKonten"
安卓:layout_width="wrap_content"
安卓:layout_height="wrap_content"
安卓:layout_margin="@dimen/spacing_large"
安卓:lineSpacingExtra="4dp"
安卓:text="@string/middle_lorem_ipsum"
安卓:textAppearance="@style/TextAppearance.AppCompat.Caption"
安卓:textColor="@color/grey_60" />
<View
安卓:layout_width="match_parent"
安卓:layout_height="1dp"
安卓:layout_marginTop="@dimen/spacing_medium"
安卓:background="@color/grey_5" />
<LinearLayout
安卓:layout_width="match_parent"
安卓:layout_height="@dimen/spacing_xxlarge"
安卓:gravity="center_vertical"
安卓:orientation="horizontal"
安卓:paddingLeft="@dimen/spacing_large"
安卓:paddingRight="@dimen/spacing_large">
<LinearLayout
安卓:layout_width="wrap_content"
安卓:layout_height="wrap_content"
安卓:gravity="center_vertical"
安卓:orientation="horizontal">
<ImageView
安卓:id="@+id/imgLike"
安卓:layout_width="@dimen/spacing_mlarge"
安卓:layout_height="@dimen/spacing_mlarge"
安卓:layout_marginEnd="@dimen/spacing_middle"
安卓:layout_marginRight="@dimen/spacing_middle"
安卓:tint="@color/light_green_300"
安卓:src="@drawable/ic_thumb_up" />
<TextView
安卓:id="@+id/txtsuka"
安卓:layout_width="wrap_content"
安卓:layout_height="wrap_content"
安卓:gravity="center_vertical"
安卓:text="12 likes"
安卓:textAppearance="@style/TextAppearance.AppCompat.Caption"
安卓:textColor="@color/grey_40" />
</LinearLayout>
<View
安卓:layout_width="@dimen/spacing_large"
安卓:layout_height="0dp" />
<LinearLayout
安卓:layout_width="0dp"
安卓:layout_height="wrap_content"
安卓:layout_weight="1"
安卓:gravity="center_vertical"
安卓:orientation="horizontal">
<ImageView
安卓:layout_width="@dimen/spacing_mlarge"
安卓:layout_height="@dimen/spacing_mlarge"
安卓:layout_marginEnd="@dimen/spacing_middle"
安卓:layout_marginRight="@dimen/spacing_middle"
安卓:tint="@color/light_blue_400"
安卓:src="@drawable/ic_textsms" />
<TextView
安卓:id="@+id/tvKomentar"
安卓:layout_width="wrap_content"
安卓:layout_height="wrap_content"
安卓:gravity="center_vertical"
安卓:text="4 Comments"
安卓:textAppearance="@style/TextAppearance.AppCompat.Caption"
安卓:textColor="@color/grey_40" />
</LinearLayout>
<TextView
安卓:id="@+id/tvLalu"
安卓:layout_width="wrap_content"
安卓:layout_height="wrap_content"
安卓:gravity="end|right"
安卓:text="2h ago"
安卓:textAppearance="@style/TextAppearance.AppCompat.Body1"
安卓:textColor="@color/grey_40" />
</LinearLayout>
</LinearLayout>
</安卓x.cardview.widget.CardView>
</LinearLayout>
这是我的适配器:https://pastebin.com/csiW52h4
public class AdapterCardPostList extends RecyclerView.Adapter<AdapterCardPostList.ViewHolder> {
private Context context;
private List<PostItem> list;
private List<Check> checkList;
private OnItemClickListener mOnItemClickListener;
public AdapterCardPostList(Context context, List<PostItem> list, List<Check> checkList, OnItemClickListener monItemClickListener) {
this.context = context;
this.list = list;
this.checkList = checkList;
this.mOnItemClickListener = monItemClickListener;
}
public class ViewHolder extends RecyclerView.ViewHolder {
// each data item is just a string in this case
public ImageView image, imglike;
public TextView name;
public TextView konten;
public TextView like;
public TextView komentar;
public TextView lalu;
public ViewHolder(View v) {
super(v);
image = (ImageView) v.findViewById(R.id.imgGambar);
name = (TextView) v.findViewById(R.id.tvName);
konten = (TextView) v.findViewById(R.id.tvKonten);
like = (TextView) v.findViewById(R.id.txtsuka);
komentar = (TextView) v.findViewById(R.id.tvKomentar);
lalu = (TextView) v.findViewById(R.id.tvLalu);
imglike = (ImageView) v.findViewById(R.id.imgLike);
imglike.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mOnItemClickListener.onItemClick(view, checkList.get(getAdapterPosition()), getAdapterPosition(), list.get(getAdapterPosition()));
}
});
}
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
View v = layoutInflater.inflate(R.layout.item_post, parent, false);
ViewHolder vh = new ViewHolder(v);
return vh;
}
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
PostItem p = list.get(position);
holder.konten.setText(p.getContent());
holder.like.setText(p.getLike());
holder.name.setText(p.getName());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
try {
// long time = sdf.parse(p.getTanggal()).getTime();
Date date = sdf.parse(p.getTanggal());
long now = System.currentTimeMillis();
CharSequence ago =
DateUtils.getRelativeTimeSpanString(date.getTime(), now, DateUtils.MINUTE_IN_MILLIS);
holder.lalu.setText(ago);
} catch (ParseException e) {
e.printStackTrace();
Toast.makeText(context, e.getMessage(), Toast.LENGTH_SHORT).show();
}
holder.komentar.setText(p.getKomen() + " Comments");
Glide.with(context).load("https://graph.facebook.com/" + p.getUid() + "/picture?type=normal").into(holder.image);
if (p.getUid().equals(MainActivity.id)){
holder.imglike.setColorFilter(ContextCompat.getColor(context, R.color.red_200), 安卓.graphics.PorterDuff.Mode.MULTIPLY);
checkList.add(new Check(true));
}else{
holder.imglike.setColorFilter(ContextCompat.getColor(context, R.color.light_green_300), 安卓.graphics.PorterDuff.Mode.MULTIPLY);
checkList.add(new Check(false));
}
}
@Override
public int getItemCount() {
return list.size();
}
}
为什么我的imageview工作但textview不工作
谢谢大家的关注
# 1 楼答案
这是因为idtvKonten不存在。在XML代码中,文本视图的id是txtsuka,而不是tvKonten。将tvKonten更改为txtsuka
# 2 楼答案
请尝试以下选项,它可能适合您:
...v26.xml
或类似的内容;如果您发现任何不需要的版本,请删除该文件李># 3 楼答案
改为