0

リストビューに映画の名前を動的に追加しようとしています。その後、リストビューに映画名が見つからない場合は、検索オプションを使用して映画名を検索し、リストビューに映画を追加します。検索を使用する前に、映画名が挿入されます検索を使用した後、リストビューにムービー名が挿入されませんでした。

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;
                    }



    }
    }
4

1 に答える 1

0

put log in protected boolean isInputValid(EditText etInput2) {メソッドが false または true を返すかどうかを確認します。また、このメソッドが文字列を適切に取得していることも確認してください..

必要なものが返され、メソッド内で正しい文字列が得られた場合は、log を public void onClick(View v) { メソッドに入れて、isInputValid メソッドから文字列を取得するかどうかを確認します。問題がin listItems.add(0,et.getText().toString()); または前/後..

于 2013-10-24T07:07:41.173 に答える