字符串出错:实际和正式参数列表的长度不同

时间:2018-01-09 21:08:39

标签: android string error-handling

我在下面的代码中尝试实现setHeadline()时遇到了“实际和正式的参数列表长度不同”错误。

private void setupAdaptater() {
  mPostAdapter = new FirebaseRecyclerAdapter < Post, PostViewHolder > (
    Post.class,
    R.layout.item_layout_post,
    PostViewHolder.class,
    mPostRef
  ) {
    @Override
    protected void populateViewHolder(PostViewHolder viewHolder, final Post model, int position) {
      StorageReference storageReference = FirebaseStorage.getInstance().getReferenceFromUrl(model.getImageUrl());
      Glide.with(MainActivity.this)
        .using(new FirebaseImageLoader())
        .load(storageReference)
        .into(viewHolder.postIV);
      viewHolder.setHeadline(model.setHeadline()); //Headline
      viewHolder.setNumLikes(model.getNumLikes());
      viewHolder.postLikeIV.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
          updateNumLikes(model.getUID());
        }
      });
    }
  };
}

// ...

   public void setHeadline(String headline){ //Headline
        postHeadline.setText(String.valueOf(headline)); //This string gives the value of headline_event
    }

我定义了这样的字符串:

public class Post {
  private String headline; //Set headline as String;

  public Post() {

  }

  public Post(String headline) {
    this.headline = headline; //This is the headline that was added
  }

  public void setHeadline(String headline) { //Set the headline
    this.headline = headline; //set the headline as string
  }

// ..

我不知道长度不匹配的地方。任何人都可以帮我这个吗?

1 个答案:

答案 0 :(得分:1)

Post课程中,我看到了以下代码:

public void getHeadline(String headline) { //Set the headline
  this.headline = headline; //set the headline as string
}

看起来你可能在这里输入了一个拼写错误:方法是 g etHeadline,但它看起来像一个“setter”,所以应该命名为 s etHeadline。 / p>

我希望看到两种看起来像这样的方法:

public String getHeadline() {
  return headline;
}

public void setHeadling(String headline) {
  this.headline = headline;
}