• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Automatyczne opuszczanie EditText

Object Storage Arubacloud
0 głosów
118 wizyt
pytanie zadane 7 kwietnia 2017 w Android, Swift, Symbian przez SebekMakaron Obywatel (1,290 p.)
edycja 7 kwietnia 2017 przez SebekMakaron

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();
    }
}

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 117 wizyt
pytanie zadane 5 sierpnia 2020 w JavaScript przez rob Bywalec (2,440 p.)
0 głosów
2 odpowiedzi 358 wizyt
pytanie zadane 23 lutego 2018 w C i C++ przez polak1231 Początkujący (270 p.)
0 głosów
1 odpowiedź 383 wizyt
pytanie zadane 6 grudnia 2017 w C i C++ przez maniek358257 Początkujący (290 p.)

92,555 zapytań

141,403 odpowiedzi

319,556 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...