private void SetupList()
        {
            //Random Logo
            Random random        = new Random();
            int    imageSelected = img_list[random.Next(img_list.Length)];

            imgLogo.SetImageResource(imageSelected);
            correct_answer = Resources.GetResourceName(imageSelected);
            correct_answer = correct_answer.Substring(correct_answer.LastIndexOf("/") + 1);
            answer         = correct_answer.ToCharArray();
            Common.Common.user_submit_answer = new char[answer.Length];

            //Add Answer Character to List
            suggestSource.Clear();
            foreach (char item in answer)
            {
                suggestSource.Add(Convert.ToString(item));
            }
            //Random characters from alphabet list and add to list
            for (int i = answer.Length; i < answer.Length * 2; i++)
            {
                suggestSource.Add(Common.Common.alphabet_characters[random.Next(Common.Common.alphabet_characters.Length)]);
            }
            //Sort List
            suggestSource = suggestSource.OrderBy(x => Guid.NewGuid()).ToList();
            //Set Adapter for Grid View
            answerAdapter  = new GridViewAnswerAdapter(SetupNullList(), this);
            suggestAdapter = new GridViewSuggestAdapter(suggestSource, this, this);

            answerAdapter.NotifyDataSetChanged();
            suggestAdapter.NotifyDataSetChanged();

            gvAnswer.Adapter  = answerAdapter;
            gvSuggest.Adapter = suggestAdapter;
        }
        private void InitViews()
        {
            gvAnswer  = FindViewById <GridView>(Resource.Id.gvAnswer);
            gvSuggest = FindViewById <GridView>(Resource.Id.gvSuggest);
            imgLogo   = FindViewById <ImageView>(Resource.Id.imgLogo);
            SetupList();
            btnSubmit        = FindViewById <Button>(Resource.Id.btnSubmit);
            btnSubmit.Click += delegate
            {
                //Convert char Array to string
                string result = new string(Common.Common.user_submit_answer);
                if (result.Equals(correct_answer))
                {
                    Toast.MakeText(ApplicationContext, "Finish ! This is" + result.ToUpper(), ToastLength.Short).Show();
                    //Result

                    Common.Common.user_submit_answer = new char[correct_answer.Length];
                    //Update UI
                    GridViewAnswerAdapter answerAdapter = new GridViewAnswerAdapter(SetupNullList(), this);
                    gvAnswer.Adapter = answerAdapter;
                    answerAdapter.NotifyDataSetChanged();

                    GridViewSuggestAdapter suggestAdapter = new GridViewSuggestAdapter(suggestSource, this, this);
                    gvSuggest.Adapter = suggestAdapter;
                    suggestAdapter.NotifyDataSetChanged();
                    SetupList();
                }
                else
                {
                    Toast.MakeText(this, "Incorrect!!!", ToastLength.Short).Show();
                }
            };
        }
Exemplo n.º 3
0
        private void SetupList()
        {
            Random random        = new Random();
            int    imageSelected = imageList[random.Next(imageList.Length)];

            imgLogo.SetImageResource(imageSelected);

            correctAnswer = Resources.GetResourceName(imageSelected);
            correctAnswer = correctAnswer.Substring(correctAnswer.LastIndexOf("/") + 1);

            answer = correctAnswer.ToCharArray();

            Common.Common.m_UserSubmitAnswer = new char[answer.Length];

            //add answer chars to list

            suggestSource.Clear();
            foreach (char item in answer)
            {
                suggestSource.Add(Convert.ToString(item));
            }

            //random chars from alphabet list and add to list

            for (int i = answer.Length; i < answer.Length * 2; i++)
            {
                suggestSource.Add(Common.Common.m_AlphabetCharacters[random.Next(Common.Common.m_AlphabetCharacters.Length)]);
            }


            //sort list

            suggestSource = suggestSource.OrderBy(Xamarin => Guid.NewGuid()).ToList();

            //set adapter for grid view
            answerAdapter  = new GridViewAnswerAdapter(SetupNullList(), this);
            suggestAdapter = new GridViewSuggestAdapter(suggestSource, this, this);

            answerAdapter.NotifyDataSetInvalidated();
            suggestAdapter.NotifyDataSetChanged();

            gVAnswer.Adapter  = answerAdapter;
            gVSuggest.Adapter = suggestAdapter;
        }