Witam, przejdę od razu do rzeczy aby nie marnować waszego czasu.
Po kliknięciu w pole EditText zaznacza się ono na ułamek sekundy i wychodzi automatycznie z niego bez mojej ingerencji oto kod tej klasy:
Automatyczne wyjście następuje wtedy gdy nad klawiatura pojawia się mały pasek z sugerowanymi słowami, ten pasek pojawia się także na ułamek sekundy a gdy zniknie następuje wyjście z pola editText a po ponownym kliknięciu pasek znowu wyskakuje i znowu się chowa tworząc w ten sposób koło.
public class AdapterList extends ArrayAdapter<String> implements DataList, View.OnClickListener{ Context context; String[] value; SharedPreferences preferences; EditText editText; String[] editValue; SharedPreferences.Editor preferencesSaved; Button button; public AdapterList(Context context, String[] value, Button button){ super(context, R.layout.description_views, R.id.column_example, value); this.context = context; this.value = value; preferences = context.getSharedPreferences("list", Context.MODE_PRIVATE); preferencesSaved = context.getSharedPreferences("saved", Context.MODE_PRIVATE).edit(); editValue = new String[10]; this.button = button; button.setOnClickListener(this); } public View getView(final int position, View counterView, ViewGroup viewGroup){ LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); final View row = inflater.inflate(R.layout.description_views, viewGroup, false); editText = (EditText) row.findViewById(R.id.column_value); editText.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { if(hasFocus){ button.setVisibility(View.GONE); }else { button.setVisibility(View.VISIBLE); } } }); switch (position){ case 1: editText.setText("2017-04-07"); break; case 2: editText.setText("13:06"); break; default: editText.setText(""); break; } editValue[position] = editText.getText().toString(); if(preferences.getBoolean(DataList.list[position], false)) { TextView textValue = (TextView) row.findViewById(R.id.column_example); textValue.setText(value[position]); return row; //Aby zniknął cały wiersz nalezy ustawic kazdemu z osobna w wierszu View.GONE } row.setVisibility(View.GONE); return row; } @Override public void onClick(View v) { for(int i = 0; i < 10; i++){ preferencesSaved.putString(DataList.list[i], editValue[i]); Log.d("", String.valueOf(editValue[i])); } preferencesSaved.apply(); } }