Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.user.assignment10;
- import android.graphics.drawable.Drawable;
- import android.os.Bundle;
- import android.support.v7.app.AppCompatActivity;
- import android.view.View;
- import android.widget.Button;
- import android.widget.GridView;
- import android.widget.ImageView;
- import android.widget.Toast;
- import com.example.user.assignment10.Adapter.GridViewAnswerAdapter;
- import com.example.user.assignment10.Adapter.GridViewSuggestAdapter;
- import com.example.user.assignment10.Common.Common;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
- import java.util.Random;
- public abstract class MainActivity extends AppCompatActivity implements View.OnClickListener {
- public GridViewAnswerAdapter answerAdapter;
- public List<String> suggestSource = new ArrayList<>();
- public GridViewSuggestAdapter suggestAdapter;
- public Button btnSubmit;
- public GridView gridViewAnswer, gridViewSuggest;
- public ImageView imageViewQuestion;
- /*ArrayList<Integer> pictures;
- {
- pictures = new ArrayList <Integer>() {
- R.drawable.crane;
- R.drawable.cross;
- R.drawable.date;
- R.drawable.funnel;
- R.drawable.pair;
- R.drawable.sign;
- R.drawable.snow;
- R.drawable.trip;
- R.drawable.zebra;
- };
- }*/
- // hidden first ArrayList <Integer> image_list ;
- public char[] answer;
- String correct_answer;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- //Init View
- // myList.add(R.drawable.crane);
- ArrayList<> image_list = new ArrayList <> () {
- {
- add(getDrawable(R.drawable.crane)) ;
- add(getDrawable(R.drawable.cross)) ;
- add(getDrawable(R.drawable.date)) ;
- add(getDrawable(R.drawable.funnel)) ;
- add(getDrawable(R.drawable.pair)) ;
- add(getDrawable(R.drawable.sign)) ;
- add(getDrawable(R.drawable.snow)) ;
- add(getDrawable(R.drawable.trip)) ;
- add(getDrawable(R.drawable.zebra)) ;
- /*add(R.drawable.crane);
- add(R.drawable.cross);
- add(R.drawable.date);
- add(R.drawable.funnel);
- add(R.drawable.pair);
- add(R.drawable.sign);
- add(R.drawable.snow);
- add(R.drawable.trip);
- add(R.drawable.zebra);
- */
- }
- };
- initView();
- }
- private void initView() {
- gridViewAnswer = findViewById(R.id.gridViewAnswer);
- gridViewSuggest = findViewById(R.id.gridViewSuggest);
- imageViewQuestion = findViewById(R.id.image);
- //add setuplist method here to generate image question and setuplist
- // when app start
- setupList();
- btnSubmit = findViewById(R.id.btnSubmit);
- btnSubmit.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String result="";
- for(int i=0;i< Common.user_submit_answer.length;i++)
- result += String.valueOf(Common.user_submit_answer[i]);
- //Here we will convert char array to string, so we can use loop
- // or use String constructor to do that
- // if user submit equals correct answer, it will go to the next question
- if (result.equals(correct_answer))
- {
- Toast.makeText(getApplicationContext(), String.format("Congrats,you got it right! This is%s", result),Toast.LENGTH_SHORT).show();
- //Reset
- Common.count=0;
- Common.user_submit_answer= new char[correct_answer.length()];
- //Set Adapter
- GridViewAnswerAdapter answerAdapter = new GridViewAnswerAdapter(setupNullList(),getApplicationContext());
- gridViewAnswer.setAdapter(answerAdapter);
- answerAdapter.notifyDataSetChanged();
- GridViewSuggestAdapter suggestAdapter = new GridViewSuggestAdapter(suggestSource,getApplicationContext(),MainActivity.this);
- gridViewSuggest.setAdapter(suggestAdapter);
- suggestAdapter.notifyDataSetChanged();
- setupList();
- }
- else
- {
- Toast.makeText(MainActivity.this,"Incorrect!!!",Toast.LENGTH_SHORT).show();
- }
- }
- });
- }
- private void setupList() {
- //Here we will setup Suggest character list, and image
- //Random image
- Random random = new Random();
- int imageSeleced = image_list[random.nextInt(image_list.length)]; // HERE ERROR
- imageViewQuestion.setImageResource(imageSeleced);
- correct_answer = getResources().getResourceName(imageSeleced);
- correct_answer = correct_answer.substring(correct_answer.lastIndexOf("/")+1);
- answer = correct_answer.toCharArray();
- Common.user_submit_answer = new char[answer.length];
- //Adding Answer character to List
- suggestSource.clear();
- for(char item:answer)
- {
- //converting correct answers to character and adding to list suggest
- suggestSource.add(String.valueOf(item));
- }
- //Random add some character to list
- for(int i= answer.length;i<answer.length*2;i++)
- //random some characters from alphabet list and add to our suggest list
- suggestSource.add(Common.alphabet_character[random.nextInt(Common.alphabet_character.length)]);
- //Sort random list
- Collections.shuffle(suggestSource);
- //set for GridView
- answerAdapter = new GridViewAnswerAdapter(setupNullList(),this);
- suggestAdapter = new GridViewSuggestAdapter(suggestSource,this,this);
- answerAdapter.notifyDataSetChanged();
- suggestAdapter.notifyDataSetChanged();
- gridViewSuggest.setAdapter(suggestAdapter);
- gridViewAnswer.setAdapter(answerAdapter);
- }
- //NULL CHAR ARRAY
- private char[] setupNullList() {
- char result[] = new char[answer.length];
- for(int i=0;i<answer.length;i++)
- result[i]=' ';
- return result;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement