Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在listview的每一行中分隔的textview_Android - Fatal编程技术网

Android 在listview的每一行中分隔的textview

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 =

我有7个文本视图,它代表一个日期,例如8月1日、8月2日、8月3日……这7个文本视图显示在列表视图的每一行中,问题是当我单击按钮时,所有文本视图都显示在列表视图的最后一项中

这就是我想要达到的目标

列表项0

八月一日

清单项目1

八月二日

这是我在getview中的代码

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你现在能发布一个屏幕截图吗?,这就是我按下按钮时发生的情况