小编Olu*_*owu的帖子

将onItemClick设置为自定义适配器ListView

当我在过滤时尝试将listView项目的位置修改为所需的意图时遇到问题,并获得信息我可以使用自定义适配器覆盖问题,我已经完成了但我不知道如何为每个项目分配点击,请检查以下代码:

public class IndexPageActivity extends Activity { 
ListView listView;
EditText editTextB;

@Override
protected void onCreate(Bundle savfedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.indexpage);
    listView = (ListView) findViewById(R.id.pageList);
    editTextB = (EditText) findViewById(R.id.searchB);
    listView.setAdapter(new PagesAdapter(this));
    listView.setOnItemClickListener((OnItemClickListener) this);

}
}
class SingleRow {
String pagedata;
SingleRow(String pagedata){
    this.pagedata=pagedata;
}
}
class PagesAdapter extends BaseAdapter implements OnItemClickListener{
ArrayList<SingleRow> pagelist;
Context context;

PagesAdapter(Context c){
    context=c;
    pagelist = new ArrayList<SingleRow>();
    Resources res = c.getResources();
    String [] pagedatas = res.getStringArray(R.array.pages_data);
    for (int i=0;i<463;i++){
        pagelist.add(new SingleRow(pagedatas[i]));
    } …
Run Code Online (Sandbox Code Playgroud)

java android listview android-listview

5
推荐指数
1
解决办法
2万
查看次数

绕过不更新ListView Android的过滤中的错误

这是代码,我使用了自定义适配器,并应用了Filter方法,现在当输入退格键时,ListView不会更新,当从项目活动切换回来时.我读到它是过滤器中的一个错误,但是如何绕过它,我知道已经实现了我想要的这种设置的应用程序.

public class IndexPageActivity extends Activity implements OnItemClickListener{ 
    ListView listView;
    EditText editTextB;
    PagesAdapter adapter1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);
        listView = (ListView) findViewById(R.id.pageList);
        editTextB = (EditText) findViewById(R.id.searchB);
        adapter1 = new PagesAdapter(this);
        listView.setAdapter(adapter1);
        adapter1.notifyDataSetChanged();
        listView.setOnItemClickListener(this);

        editTextB.addTextChangedListener(new TextWatcher() {
            @Override
            public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
                IndexPageActivity.this.adapter1.getFilter().filter(cs.toString());
                adapter1.notifyDataSetChanged();
            }

            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1,
                        int arg2, int arg3) { }

            @Override
            public void afterTextChanged(Editable arg0) { }
        });
    }

    @Override
    public void …
Run Code Online (Sandbox Code Playgroud)

android listview android-listview android-filterable

5
推荐指数
1
解决办法
1679
查看次数