空指针异常和意图错误

时间:2013-08-28 11:58:33

标签: java android android-intent nullpointerexception android-checkbox

我的应用程序每当我点击按钮时总是崩溃...按钮从edittext获取文本,我相信这就是我有null pointer exception的原因。第一个问题:如何检查editText是否为空?我已尝试.equals("").equals(null),与匹配相同,.lenght == 0 其次,当我尝试调用listActivity类的意图时,我得到一个处理错误。 (未找到活动。无法处理活动。) 我会给你我的onClickListener

点击聆听者

button.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {

                searchInEnglish = rSearchEnglish.isChecked();
                searchInDovahzul = rSearchDovahzul.isChecked();

                searchBox = (EditText) findViewById(R.id.tvSearch);

                if (searchBox.getText().toString().equals("")){

                    if (searchInEnglish) {
                        int counter = 0;
                        for (int i = 0; i < englishArray.length; i++) {
                            if (englishArray[i].contains(searchBox.getText())) {
                                counter++;
                                Intent search = new Intent(
                                        "net.fernandezgodinho.pedro.dovahzuldictionary.SEARCHLIST");
                                startActivity(search);
                            }
                        }
                        setFinalSearch(searchResultsEnglish);
                    }

                    if (searchInDovahzul = true) {
                        int counter = 0;
                        for (int i = 0; i < dovahzulArray.length; i++) {
                            if (dovahzulArray[i].contains(searchBox.getText())) {
                                counter++;
                                Intent search = new Intent(
                                        "net.fernandezgodinho.pedro.dovahzuldictionary.SEARCHLIST");
                                startActivity(search);
                            }
                        }
                    }
                } else {
                    Toast.makeText(MainActivity.this, "Please use at least two characters", Toast.LENGTH_LONG).show();
                }
            }
        });

2 个答案:

答案 0 :(得分:1)

要检查EditText是否为null,请写下面的代码

EditText editText=(EditText)findviewById(R.id.myEditText);

if(TextUtils.isEmpty(editText.getText())){

     // show msg or whatever you want to do on empty text case    

}else{

}

答案 1 :(得分:1)

您似乎正在调用另一个应用程序中的活动。

您是否已将<intent-filter>添加到应用程序清单中的其他活动?

步骤1:使用自定义操作向第二个活动添加<intent-filter>

<intent-filter>
  <action android:name="com.testapp.ws.XYZ"/>
  <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

步骤2:使用适当的Intent开始该活动:

startActivity(new Intent("com.testapp.ws.XYZ"));

有关详细说明,请参阅此处 - https://stackoverflow.com/a/10961409/826657