TextView
을 CardView
안에 넣으려고하지만 아무 소용이 없습니다. 내가해야할 것은 두 개의 숫자가 두 개의 숫자 안에 표시되도록하는 것입니다. CardViews
. 아래 코드를 사용하면 두 개의 CardViews
이 나타나지만 텍스트/내용은 표시되지 않습니다.콘텐츠를 표시하지 않는 Android CardView
많은 조합을 시도했지만 아무 것도 작동하지 않는 것 같습니다! TextView
을 LinearLayout
안에 배치해도 작동하지 않으며 CardView
의 직계 하위 항목이 아닙니다. 나를 도울 수있는 사람을
calendar_view.xml
<?xml version="1.0" encoding="utf-8"?>
<hoo.box.facecalendar.SquareCardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
card_view:cardCornerRadius="4dp"
card_view:cardUseCompatPadding="true"
android:id="@+id/calendar_view_card"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/calendar_view_day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:singleLine="true"
android:textColor="@color/primary_text"/>
</RelativeLayout>
</hoo.box.facecalendar.SquareCardView>
SquareCardView.java
public class SquareCardView extends CardView {
public SquareCardView(Context context) {
super(context);
}
public SquareCardView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public SquareCardView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
final int width = getDefaultSize(getSuggestedMinimumWidth(), widthMeasureSpec);
setMeasuredDimension(width, width);
}
}
CalendarAdapter.java
public class CalendarAdapter extends RecyclerView.Adapter<CalendarAdapter.CalendarViewHolder> {
private LayoutInflater inflater;
private Date curDate;
private List<Date> dateList;
public CalendarAdapter(Context context) {
inflater = LayoutInflater.from(context);
curDate = new Date();
dateList = new ArrayList<Date>();
}
@Override
public CalendarViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = inflater.inflate(R.layout.calendar_view, viewGroup, false);
CalendarViewHolder viewHolder = new CalendarViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(CalendarViewHolder calendarViewHolder, int i) {
if (dateList.size() <= i) {
Date tempDate = new Date(curDate);
tempDate.addDays(i + 1);
dateList.add(i, tempDate);
}
Date iDate = dateList.get(i);
calendarViewHolder.TEXTVIEW.setText(Integer.toString(iDate.day));
}
@Override
public int getItemCount() { return dateList.size() + 1; }
class CalendarViewHolder extends RecyclerView.ViewHolder {
public final TextView TEXTVIEW;
public final SquareCardView CARDVIEW;
public CalendarViewHolder(View itemView) {
super(itemView);
TEXTVIEW = (TextView) itemView.findViewById(R.id.calendar_view_day);
CARDVIEW = (SquareCardView) itemView.findViewById(R.id.calendar_view_card);
}
}
}
그냥 이전 감사 :
여기에 내 현재 코드입니다! 이것은 며칠 동안 나에게 먹어 치웠다!
이 코드가 모두 관련이 있습니까? TextView를 배치 할 때 CardView를 작성하는 코드와 노력을 보여주는 것만으로도 충분할 것입니다. – Reti43
글쎄, 나는 ** 지구 ** 내가 틀렸다는 것을 모른다. 한 단계에서 어댑터에 문제가있을 수 있다고 생각했습니다. – wincinderith
오류를 재생산하는 코드의 최소 버전을 생성하는 방법은 [mcve] (http://stackoverflow.com/help/mcve) 및 [sscce] (http://sscce.org/)를 참조하십시오. 당신이 직면하고있는 어려움. 전체 코드를 게시하고 모든 단일 행을 통과 할 것이라고 기대한다고해서 우리의 삶이 쉬워지는 것은 아닙니다. 어떤 사람들은 보여지는 노력의 부족을 감사하지 않을 수도 있습니다. 몇 가지 시도를 한 후에도 오류의 출처를 알 수 없지만 시도를 기록 할 수 있으므로 동일한 단계를 헛되이 반복하지는 않습니다. – Reti43