有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

方法c#(Xamarin)中的java方法

我正在用谷歌指南在我用Xamarin开发的Android应用程序中创建位置建议。我想知道如何将这个Java代码转换为c#,以及如何处理c#中方法内部的方法?谢谢

public Filter getFilter() {
    Filter filter = new Filter() {
        @Override
        protected FilterResults performFiltering(CharSequence constraint) {
            FilterResults filterResults = new FilterResults();
            if (constraint != null) {
                // Retrieve the autocomplete results.
                resultList = autocomplete(constraint.toString());

                // Assign the data to the FilterResults
                filterResults.values = resultList;
                filterResults.count = resultList.size();
            }
            return filterResults;
        }

        @Override
        protected void publishResults(CharSequence constraint, FilterResults results) {
            if (results != null && results.count > 0) {
                notifyDataSetChanged();
            }
            else {
                notifyDataSetInvalidated();
            }
        }};
    return filter;
}

共 (1) 个答案

  1. # 1 楼答案

    只需创建一个新的命名类来扩展或实现Filter(取决于它是接口还是类)。如果在其他地方不需要,请将其设置为嵌套类

    对于单一方法接口,通常委托是表示类型的最简单方式——我相信Xamarin使用的习惯用法——然后可以使用lambda表达式或匿名方法“内联”编写实现