java - 防止发生错误时强行关闭

标签 java android arrays android-edittext forceclose

我有以下代码。 当编辑文本抛出“找不到字符串”错误时,它会强制关闭。 我可以做什么来预防它?例如使用 Toast 通知?

    public void OnClImgBtSearch(View v)
{
    ImageButton ImgBtSearch=(ImageButton) findViewById(R.id.ImgBtSearch);
    EditText EditTextGhavaninShow=(EditText) findViewById(R.id.EditTextGhavaninShow);
    EditText EditTextGhavaninSearch=(EditText) findViewById(R.id.EditTextGhavaninSearch);

    String StrEditText =EditTextGhavaninSearch.getText().toString();


    //(EditTextGhavaninShow.getText().toString().contains(StrEditText))

    String s = EditTextGhavaninShow.getText().toString();
    try{
    if(EditTextGhavaninShow.getText().toString().contains(StrEditText));
    {
    int position = s.indexOf(StrEditText);              // where C is your character to be searched
    int Lastlen=s.lastIndexOf(StrEditText);
    int FirstLen=s.indexOf(StrEditText);
    EditTextGhavaninShow.setSelection(FirstLen,Lastlen);
    }}
    catch (TypeNotPresentException e) {
        Toast.makeText(getApplicationContext(), "عبارت مورد نظر یافت نشد", Toast.LENGTH_SHORT).show();

        e.printStackTrace();
    }

最佳答案

如果您想防止应用程序因任何类型的错误而崩溃,您应该使用Exception类:

try{
    if(EditTextGhavaninShow.getText().toString().contains(StrEditText)){
        int position = s.indexOf(StrEditText); // where C is your character to be searched
        int Lastlen=s.lastIndexOf(StrEditText);
        int FirstLen=s.indexOf(StrEditText);
        EditTextGhavaninShow.setSelection(FirstLen,Lastlen);
    }
}catch (Exception e) {
    Toast.makeText(getApplicationContext(), "عبارت مورد نظر یافت نشد", Toast.LENGTH_SHORT).show();
    e.printStackTrace();
}

尽管这不是一个好的解决方案,但您应该以不会在每种情况下崩溃的方式管理您的应用。

关于java - 防止发生错误时强行关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36421185/

相关文章:

arrays - Swift Programming How to search an Array of [Any]--> Generic parameter 'C.Generator.Element' cannot be bound to non-@ob 错误

c# - Array.Copy 和 Array.ConstrainedCopy - C#

java - 得到以下 struts tile 错误

java - 如何管理 M 个线程(每个任务 1 个)确保同时只有 N 个线程。 N < M. 在 Java 中

java - w3schools xsd 示例不适用于 dom4j。如何使用 dom4j 通过 xsds 验证 xml?

java - 通过 USB 将数据发送到 Android 应用程序

java - 字符串文字未正确执行

ant - 将java库包含到自己的库中

Android APIv29 FileNotFoundException EACCES(权限被拒绝)

计算数组偏移量的 Pythonic 方法