【问题标题】:Filter Method in searchView Widget for android scala eclipse pluginandroid scala eclipse插件的searchView小部件中的过滤方法
【发布时间】:2013-08-24 04:06:11
【问题描述】:

我在 android 中使用了 searchView 小部件,eclipse Scala 插件,我想在按下搜索按钮后更新我的列表,现在我的过滤方法实现中有一些错误

请给我一些提示,

这里是过滤方法:

 override def getFilter(): Filter = {
  new Filter() {

    protected override def publishResults(constraint: CharSequence, results: 
FilterResults) {
      books = results.values.asInstanceOf[List[BookMetadata]]
      ItemAdapter.this.notifyDataSetChanged()
    }

    protected override def performFiltering(constraint: CharSequence): FilterResults = {
      val filteredResults: List[BookMetadata] =   
 ListBuffer(books.asScala.toList.filter(b.startsWith(constraint.toString)): _*)
      val results = new FilterResults()
      results.values = filteredResults
      results
    }
  }
}

我这里有个错误:

books = results.values.asInstanceOf[List[BookMetadata]]

 error: Multiple markers at this 
line 
- reassignment to val 
- reassignment to val

b 的一个错误。 val filtersResults: List[BookMetadata] =
ListBuffer(books.asScala.toList.filter(b.startsWith(constraint.toString)): _*)

  not found: value 
  b

提前致谢!

【问题讨论】:

    标签: java android eclipse scala


    【解决方案1】:

    改变

    val books 
    

    var books 
    

    并且 改变

    val filteredResults: List[BookMetadata] = ListBuffer(books.asScala.toList.filter(b.startsWith(constraint.toString)): _*)
    

    val filteredResults: List[BookMetadata] = ListBuffer(books.asScala.toList.filter(b => b.startsWith(constraint.toString)): _*)
    

    请看Use of def, val, and var in scala

    【讨论】:

    • 太棒了,非常感谢!
    猜你喜欢
    • 2017-02-01
    • 1970-01-01
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多