我正在尝试在listview中动态添加电影名称,之后我想使用搜索选项查找电影名称,如果在列表视图中找不到电影名称,请在列表视图中添加电影。我的问题是在使用搜索之前,正确插入列表视图中的电影名称使用搜索后,电影名称未插入列表视图中。
public class MainActivity extends ListActivity implements OnClickListener {
ArrayList<String> listItems=new ArrayList<String>();
ArrayAdapter<String> adapter;
EditText et,inputSearch;
Button btn;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,listItems);
setListAdapter(adapter);
adapter.notifyDataSetChanged();
et=(EditText) findViewById(R.id.editText);
final EditText inputSearch = (EditText) findViewById(R.id.inputSearch);
btn=(Button) findViewById(R.id.addBtn);
btn.setOnClickListener(this);
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
MainActivity.this.adapter.getFilter().filter(cs);
adapter.notifyDataSetChanged();
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (isInputValid(et)) {
listItems.add(0,et.getText().toString());
et.setText("");
adapter.notifyDataSetChanged();
}
}
protected boolean isInputValid(EditText etInput2) {
// TODO Auto-generatd method stub
if (etInput2.getText().toString().trim().length()<1) {
etInput2.setError("Please Enter Item");
return false;
} else {
return true;
}
}
}
答案 0 :(得分:0)
将登录保护布尔值isInputValid(EditText etInput2){方法以查看它是返回false还是true。 并检查它这个方法是正确得到字符串..
如果它返回你想要的并且你在方法中得到正确的字符串,则将log登录到public void onClick(View v){方法以查看是否从isInputValid方法获取字符串,所以你会知道是否问题出在listItems.add(0,et.getText()。toString());或之前/之后..