首页 > 解决方案 > Spinner 的进一步指导

问题描述

在测试了此处此处给出的示例之后,我认为如果用户选择了正确的下拉项目,我将能够添加一个得分点。(我正在制作一个简单的测验应用程序来祝您最终得分)。显然这对我来说太先进了,但我真的不想放弃,想知道是否有人可能知道我做错了什么?这是我在 MainActivity.java 中设置的方式,我尝试实现一种检查所选项目的方法失败:

首先我提出以下问题:

package com.example.android.arabic;
import android.content.Intent;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.os.Bundle;
import android.util.Log;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Spinner;
import android.widget.SpinnerAdapter;
import android.widget.TextView;
import android.view.View.OnClickListener;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;
import com.example.android.arabic.Nature.Nature;
import org.w3c.dom.Text;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity implements OnItemSelectedListener{

int arabicScore = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // add emoji Q1
    TextView q1 = findViewById(R.id.Q1_question);
    q1.setText(Nature.HONEY_BEE);

                   // add emoji A2_option1
    TextView qa2Option1 = findViewById(R.id.A2_option1);
    qa2Option1.setText(Nature.GOAT);

    // add emoji A2_option2
    TextView qa2Option2 = findViewById(R.id.A2_option2);
    qa2Option2.setText(Nature.BIRD);

    // add emoji A2_option3
    TextView qa2Option3 = findViewById(R.id.A2_option3);
    qa2Option3.setText(Nature.HORSE);


    //Q3 audio
    Button q3Sound = this.findViewById(R.id.Q3_sound);
    final MediaPlayer q3 = MediaPlayer.create(this, R.raw.camel);
    q3Sound.setOnClickListener(new OnClickListener() {

        public void onClick(View v) { q3.start();
        }
    });

    // add emoji Q4_question
    TextView q4 = findViewById(R.id.Q4_question);
    q4.setText(Nature.ANT);


    // Start of spinner Q4
    Spinner a4 = findViewById(R.id.A4);
// Create an ArrayAdapter using the string array and a default spinner layout
    ArrayAdapter<CharSequence>adapter = ArrayAdapter.createFromResource(this,
            R.array.a4_array, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
    a4.setAdapter(adapter);
    a4.setOnItemSelectedListener(this);


//Q5 audio
    Button q5Sound = this.findViewById(R.id.Q5_sound);
    final MediaPlayer q5 = MediaPlayer.create(this, R.raw.cow_bird);
    q5Sound.setOnClickListener(new OnClickListener() {

            public void onClick(View v) { q5.start();
            }
        });

//A5
    // add emoji A5_option1
    TextView qa5Option1 = findViewById(R.id.A5_option1);
    qa5Option1.setText(Nature.COW);

    // add emoji A5_option2
    TextView qa5Option2 = findViewById(R.id.A5_option2);
    qa5Option2.setText(Nature.PIG);

    // add emoji A5_option3
    TextView qa5Option3 = findViewById(R.id.A5_option3);
    qa5Option3.setText(Nature.SNAKE);

    // add emoji A5_option4
    TextView qa5Option4 = findViewById(R.id.A5_option4);
    qa5Option4.setText(Nature.BIRD);

}

//Display Result
public void results(View view){
    // Check point for Q1
    EditText a1EditText = findViewById(R.id.A1);
    String a1Entry = a1EditText.getText().toString();
    if (a1Entry.contains("نحلة")) {
        arabicScore = arabicScore + 1;
        }


    // Check point for Q2
    RadioButton a2Radio = findViewById(R.id.A2_option2);
    boolean isa2RadioChecked = a2Radio.isChecked();
    if (isa2RadioChecked){
        arabicScore = arabicScore + 1;
    }

    // Check point for Q3
    EditText a3EditText = findViewById(R.id.A3);
    String a3Entry = a3EditText.getText().toString();
    if (a3Entry.contains("جمل")) {
        arabicScore = arabicScore + 1;
    }

    // Check point for Q4



    Toast resultToast = Toast.makeText(this, "You got " + arabicScore + " of 7 questions right.", Toast.LENGTH_LONG);
    resultToast.show();
}

布局预览

}

非常感谢您提前的建议!我已经坚持了几个月了!:'D

标签: javaandroidandroid-spinner

解决方案


推荐阅读