我正在使用Android Studio。 我需要比较Arraylist(其中包含项,并且项包含2个不同的视图)与用户输入。
Arraylist(mNameList)项具有TextView(id = NameView)和ImageView(id = image_delete)。
我试图只使用.contains(),直接进入列表,但这没有用... 无论我的Arraylist是否包含用户尝试输入的名称,无论如何它都会添加该名称。
它应该做的是,如果arraylist包含该名称,则应进行举杯,而不将用户输入的内容包括在列表中。
/** When "add" button been clicked, add a name to the namelist **/
textAdd = findViewById(R.id.name_input);
buttonAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
boolean contain = mNameList.contains(textAdd.getText().toString().trim());
if (contain) {
Toast toast = Toast.makeText(getApplicationContext(),"This name is already on a list...", Toast.LENGTH_LONG);
toast.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL, -170, 592);
toast.show();
} else {
/** Close soft keyboard first **/
InputMethodManager input = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
input.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
/** Then add item **/
int position = 0;
addItem(position);
}
}
});