protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.creating_test_view);

            testLogic = new GenerateOrCreateTestLogic();

            searchViewWords   = FindViewById <SearchView>(Resource.Id.sv_word_search);
            recyclerViewWords = FindViewById <RecyclerView>(Resource.Id.rv_words);
            buttonRu          = FindViewById <Button>(Resource.Id.btn_ru);
            buttonEn          = FindViewById <Button>(Resource.Id.btn_en);
            buttonStartTest   = FindViewById <Button>(Resource.Id.btn_start_creating_test);

            LinearLayoutManager layoutManager = new LinearLayoutManager(this);

            recyclerViewWords.SetLayoutManager(layoutManager);

            wordsAdapter = new WordsAdapter(testLogic, "ru");
            recyclerViewWords.SetAdapter(wordsAdapter);

            buttonRu.Enabled = false;
            buttonRu.SetBackgroundResource(Resource.Drawable.background_ru_disenabled_button);

            searchViewWords.QueryTextChange += (sender, e) => TextChange(e.NewText);
            buttonRu.Click        += (sender, e) => SelectRuWords();
            buttonEn.Click        += (sender, e) => SelectEnWords();
            buttonStartTest.Click += (sender, e) => StartTest();
        }
        private void SelectEnWords()
        {
            buttonRu.Enabled = true;
            buttonRu.SetBackgroundResource(Resource.Drawable.background_ru_button);
            buttonEn.Enabled = false;
            buttonEn.SetBackgroundResource(Resource.Drawable.background_en_disenabled_button);

            testLogic = wordsAdapter.GetTestLogic();

            wordsAdapter = new WordsAdapter(testLogic, "en");
            recyclerViewWords.SetAdapter(wordsAdapter);

            TextChange("");
        }
Esempio n. 3
0
        private async Task Init()
        {
            WordLogic = new WordLogic(new PersistentWordManager <Word>(new FileHelper().GetLocalFilePath("WordMemo.db")));

            await WordLogic.UpdateWordList();

            _mWords = WordLogic.WordList;

            _mWordsAdapter = new WordsAdapter(this, _mWords);

            _mRecyclerView.SetAdapter(_mWordsAdapter);

            _mRecyclerView.LayoutChange += (sender, args) =>
            {
                bottomPosition = args.Bottom;
            };

            var fab = FindViewById <FloatingActionButton>(Resource.Id.fab);

            fab.Click += (sender, args) =>
            {
                Word newWord = new Word();
                _mWordsAdapter.AddWord(newWord);
                _mWordsAdapter.NotifyItemInserted(_mWordsAdapter.ItemCount - 1);

                HideKeyboard();

                _mRecyclerView.SmoothScrollToPosition(bottomPosition);
            };

            _mRecyclerView.ChildViewAttachedToWindow += (sender, args) =>
            {
                View lastRow = _mRecyclerView.GetLayoutManager().GetChildAt(_mWordsAdapter.ItemCount - 1);

                if (lastRow != null && args.View == lastRow)
                {
                    lastRow.RequestFocus();
                }
            };

            _mRecyclerView.SetItemAnimator(new DefaultItemAnimator());

            ItemTouchHelper.Callback callback        = new RecyclerItemTouchHelper(this);
            ItemTouchHelper          itemTouchHelper = new ItemTouchHelper(callback);

            itemTouchHelper.AttachToRecyclerView(_mRecyclerView);

            _mRecyclerView.ClearFocus();
            HideKeyboard();
        }