我想要获取目录中具有特定扩展名的文件列表。 在API(Java 6)中,我看到了一个File.listFiles(FileFilter)方法。 由于我需要一个特定的扩展名,我创build了一个FileNameExtensionFilter 。 但是,当我用这个listFiles时,我得到一个编译错误。 我认为,因为FileNameExtensionFilter implements FileFilter ,我应该能够做到这一点。 代码如下: FileNameExtensionFilter filter = new FileNameExtensionFilter("text only","txt"); String dir = "/users/blah/dirname"; File f[] = (new File(dir)).listFiles(filter); 最后一行显示编译错误: Filetypes的方法listFiles(FileNameFilter)不适用于FileNameExtensionFiltertypes的参数 我正在尝试使用listFiles(FileFilter) ,而不是listFiles(FileNameFilter) 。 为什么编译器不能识别这个? 这工作,如果我写我自己的扩展filter扩展FileFilter 。 我宁愿使用FileNameExtensionFilter比写我自己的。 我究竟做错了什么?
我试图实现过滤使用自定义对象适配器的ListView,但我找不到任何有用的示例。 包含的代码是非常简单的,所以不要记住我不能使用常规的ArrayAdapter。 我在ListView上面有一个EditText,并且当用户在EditText小部件中input文本时,我想通过EditText中写入的文本过滤ListView。 我们欢迎所有的build议! 以下是活动类的片段: public class management_objects extends Activity { private static List<User> UserList; private EfficientAdapter adapter = null; private ListView objectListView = null; private EditText SearchText = null; private static class EfficientAdapter extends BaseAdapter implements Filterable{ private LayoutInflater mInflater; public EfficientAdapter(Context context) { mInflater = LayoutInflater.from(context); } public int getCount() { return UserList.size(); […]
我有一个文本input,我不想让用户使用空格,input的东西都会变成小写。 我知道我不允许在ng-model上使用filter。 ng-model='tags | lowercase | no_spaces' 我看着创build我自己的指令,但添加函数到$parsers和$formatters没有更新input,只有其他ng-model元素。 我怎样才能改变我正在input的input? 我基本上试图创build“标签”function,就像在StackOverflow这里的工作。
我正在寻找一个模块,将删除任何在白名单中找不到的string的HTML标记。
假设我有以下模型 class Photo(models.Model): tags = models.ManyToManyField(Tag) class Tag(models.Model): name = models.CharField(max_length=50) 在视图中,我有一个名为类别的活动filter的列表。 我想过滤所有标签出现在类别的照片对象。 我试过了: Photo.objects.filter(tags__name__in=categories) 但是这匹配任何类别的项目,而不是所有的项目。 所以如果类别是['假期','夏天']我想要照片的假期和夏天的标签。 这可以实现吗?
我目前正在用PHPdevise和实现一个RESTful API。 但是,我一直没有成功实施我的初步devise。 GET /users # list of users GET /user/1 # get user with id 1 POST /user # create new user PUT /user/1 # modify user with id 1 DELETE /user/1 # delete user with id 1 到目前为止相当标准,对吧? 我的问题是第一个GET /users 。 我正在考虑发送请求体中的参数来过滤列表。 这是因为我想能够指定复杂的filter而不需要一个超长的URL,如: GET /users?parameter1=value1¶meter2=value2¶meter3=value3¶meter4=value4 相反,我想有这样的东西: GET /users # Request body: { "parameter1": […]
我想过滤我的ListView,这是用这个ArrayAdapter填充: package me.alxandr.android.mymir.adapters; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.Set; import me.alxandr.android.mymir.R; import me.alxandr.android.mymir.model.Manga; import android.content.Context; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.Filter; import android.widget.SectionIndexer; import android.widget.TextView; public class MangaListAdapter extends ArrayAdapter<Manga> implements SectionIndexer { public ArrayList<Manga> items; public ArrayList<Manga> filtered; private Context context; private […]
这个代码按预期工作,但我很长,令人毛骨悚然。 select p.name, p.played, w.won, l.lost from (select users.name, count(games.name) as played from users inner join games on games.player_1_id = users.id where games.winner_id > 0 group by users.name union select users.name, count(games.name) as played from users inner join games on games.player_2_id = users.id where games.winner_id > 0 group by users.name) as p inner join (select […]
我正在开发C#Visual Studio 2010中的用户控件 – 一种用于过滤datagridview的“快速查找”文本框。 它应该适用于3种types的datagridview数据源:DataTable,DataBinding和DataSet。 我的问题是从数据集对象,它显示在DataGridView中筛选DataTable。 可能有3种情况(标准WinForm应用程序与DataGridView和TextBox的例子) – 前2个工作正常,我有问题与第三个: 1. datagridview.DataSource = dataTable:它的工作原理 所以我可以通过设置来过滤:dataTable.DefaultView.RowFilter =“country LIKE'%s%'”; DataTable dt = new DataTable(); private void Form1_Load(object sender, EventArgs e) { dt.Columns.Add("id", typeof(int)); dt.Columns.Add("country", typeof(string)); dt.Rows.Add(new object[] { 1, "Belgium" }); dt.Rows.Add(new object[] { 2, "France" }); dt.Rows.Add(new object[] { 3, "Germany" }); dt.Rows.Add(new object[] { 4, […]
我碰巧发现自己有一个基本的过滤需求:我有一个列表,我必须通过项目的属性来过滤它。 我的代码看起来像这样: my_list = [x for x in my_list if x.attribute == value] 但是后来我想,这样写是不是更好? my_list = filter(lambda x: x.attribute == value, my_list) 它更具可读性,如果需要性能,lambda可以被拿出来获得一些东西。 问题是:在使用第二种方式时是否有任何警告? 任何性能差异? 我完全错过了Pythonic Way™,应该用另一种方式来做(比如使用itemgetter而不是lambda)?