Android 在listview的每一行中分隔的textview
我有7个文本视图,它代表一个日期,例如8月1日、8月2日、8月3日……这7个文本视图显示在列表视图的每一行中,问题是当我单击按钮时,所有文本视图都显示在列表视图的最后一项中 这就是我想要达到的目标 列表项0 八月一日 清单项目1 八月二日 这是我在getview中的代码Android 在listview的每一行中分隔的textview,android,Android,我有7个文本视图,它代表一个日期,例如8月1日、8月2日、8月3日……这7个文本视图显示在列表视图的每一行中,问题是当我单击按钮时,所有文本视图都显示在列表视图的最后一项中 这就是我想要达到的目标 列表项0 八月一日 清单项目1 八月二日 这是我在getview中的代码 public View getView(int position, View convertView, ViewGroup parent) { //august1 Calendar mCalendar =
public View getView(int position, View convertView, ViewGroup parent) {
//august1
Calendar mCalendar = new GregorianCalendar();
mCalendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
SimpleDateFormat mDF = new SimpleDateFormat("dd MMMM");
String fDate = mDF.format(mCalendar.getTime());
//august2
mCalendar.add(Calendar.DAY_OF_MONTH, 1);
String secDate = mDF.format(mCalendar.getTime());
mCalendar.add(Calendar.DAY_OF_MONTH, 1);
String tDate = mDF.format(mCalendar.getTime());
mCalendar.add(Calendar.DAY_OF_MONTH, 1);
String fourthDate = mDF.format(mCalendar.getTime());
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.activity_main, parent, false);
fDay = (TextView) rowView.findViewById(R.id.fDate);
secDay = (TextView) rowView.findViewById(R.id.secDate);
tDay = (TextView) rowView.findViewById(R.id.tDate);
fourthDay = (TextView) rowView.findViewById(R.id.fourthDate);
Button test = (Button) rowView.findViewById(R.id.btn);
test.setOnClickListener(new OnClickListener() {
//to increment the date
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
weekNumber = weekNumber + 1;
fDay.setText(getNextWeek(weekNumber));
}
});
fDay.setText(values[position]);
//text.setText(values[position]);
// Change icon based on name
String s = values[position];
//String bs = values[position];
System.out.println(s);
//System.out.println(bs);
//represent date in a row
//listitem0
if (s.equals("Date 1")) {
fDay.setText(fDate);
//listitem1
} else if (s.equals("Date 2")) {
secDay.setText(secDate);
//listitem2
} else if (s.equals("Date 3")) {
tDay.setText(tDate);
} else if (s.equals("Date 4")) {
fourthDay.setText(fourthDate);
......
} else {
// textView.setText(fDate);
}
return rowView;
}
// method to adjust the date
private static String getNextWeek(int weekFromToday) {
Calendar mCalendar = new GregorianCalendar();
mCalendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
mCalendar.set(Calendar.WEEK_OF_YEAR,
mCalendar.get(Calendar.WEEK_OF_YEAR) + weekFromToday);
SimpleDateFormat mDF = new SimpleDateFormat("dd MMMM");
String fDate = mDF.format(mCalendar.getTime());
fDay.setText(fDate);
mCalendar.add(Calendar.DAY_OF_MONTH, 1);
String secDate = mDF.format(mCalendar.getTime());
mCalendar.add(Calendar.DAY_OF_MONTH, 1);
String tDate = mDF.format(mCalendar.getTime());
mCalendar.add(Calendar.DAY_OF_MONTH, 1);
String fourthDate = mDF.format(mCalendar.getTime());
fDay.setText(fDate);
secDay.setText(secDate);
tDay.setText(tDate);
fourthDay.setText(fourthDate);
return fDate;
}
}这是实现重用列表视图的
getView
方法的更准确方法:
public View getView(int position, View convertView, ViewGroup parent) {
View view = null;
if (convertView == null) {
LayoutInflater inflater = context.getLayoutInflater();
view = inflater.inflate(textViewResourceId, parent, false);
} else {
view = convertView;
}
return view;
}
我找不到你。在屏幕截图之前和之后发布问题。你能解释一下你到底想做什么吗?我更新了我的帖子,我也链接了图片,让你们看清楚了,但是所有的文本视图都在一个列表项中,我想是这样的@user1673416你现在能发布一个屏幕截图吗?,这就是我按下按钮时发生的情况