In this demo I want to add tag functionality like Instagram. when I search a follower using @ its work properly and show name of that follower. but when I erase @ in search it shows error. java.lang.StringIndexOutOfBoundsException: length=0; index=1. I use many code but not solve.need help Code is here:- 
public class Main2Activity extends AppCompatActivity {
    RecyclerView following_userr_list, mListView_COmment;
    EditText editTextSearch;
    ArrayList<String> FollowingListValuesArr;
    ArrayList<String> show_following;
    CustomAdapter adapter;
    Custom_comment_Adapter adapter1;
    String final_string = "";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        FollowingListValuesArr = new ArrayList<>();
        FollowingListValuesArr.add("Ramiz");
        FollowingListValuesArr.add("Karan");
        FollowingListValuesArr.add("Azad");
        FollowingListValuesArr.add("Manish");
        show_following = new ArrayList<>();
        show_following.add("Ramiz");
        show_following.add("Karan");
        show_following.add("Azad");
        show_following.add("Manish");
        following_userr_list = (RecyclerView) findViewById(recyclerView);
        editTextSearch = (EditText) findViewById(R.id.editTextSearch);
        mListView_COmment = (RecyclerView) findViewById(recyclerView_comment);
        following_userr_list.setHasFixedSize(true);
        following_userr_list.setLayoutManager(new LinearLayoutManager(this));
        mListView_COmment.setHasFixedSize(true);
        mListView_COmment.setLayoutManager(new LinearLayoutManager(this));
        adapter = new CustomAdapter(FollowingListValuesArr);
        adapter1 = new Custom_comment_Adapter(show_following);
        following_userr_list.setAdapter(adapter);
        mListView_COmment.setAdapter(adapter1);
        editTextSearch.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            }
            @Override
            public void onTextChanged(CharSequence s, int i, int i1, int count) {
            }
            @Override
            public void afterTextChanged(Editable editable) {
                String s = editable.toString();
                final_string = s.substring(1);
                if (final_string.length() >= 1) {
                    following_userr_list.setVisibility(View.INVISIBLE);
                    mListView_COmment.setVisibility(View.VISIBLE);
                    filters(final_string);
                }
            }
            private void filters(String text) {
                ArrayList<String> filterdNames = new ArrayList<>();
                for (String s : FollowingListValuesArr) {
                    if (s.toLowerCase().contains(text.toLowerCase())) {
                        filterdNames.add(s);
                    }
                }
                adapter.filterList(filterdNames);
                adapter1.filterList(filterdNames);
            }
        });
    }
}
 
     
    