Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 检查微调器以防止它们选择相同的项目_Android_Spinner - Fatal编程技术网

Android 检查微调器以防止它们选择相同的项目

Android 检查微调器以防止它们选择相同的项目,android,spinner,Android,Spinner,我计划对微调器进行检查,以确保它们没有选择相同的项目 这是我的密码 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:orientation="vertical" android:layout_height="fill_parent"> <LinearLayout

我计划对微调器进行检查,以确保它们没有选择相同的项目

这是我的密码

    <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:orientation="vertical"
android:layout_height="fill_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/StudentName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Please select Course and Grade"
            android:textAppearance="?android:attr/textAppearanceMedium" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="1" >

        <Spinner
            android:id="@+id/SpinnerC1"
            android:layout_width="221dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.7" 
            android:entries="@array/course"/>

        <Spinner
            android:id="@+id/SpinnerG1"
            android:layout_width="83dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.3"
            android:entries="@array/grade" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="1" >

        <Spinner
            android:id="@+id/SpinnerC2"
            android:layout_width="221dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.7" 
            android:entries="@array/course"/>

        <Spinner
            android:id="@+id/SpinnerG2"
            android:layout_width="83dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.3" 
            android:entries="@array/grade"/>

    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="1" >

        <Spinner
            android:id="@+id/SpinnerC3"
            android:layout_width="221dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.7"
            android:entries="@array/course" />

        <Spinner
            android:id="@+id/SpinnerG3"
            android:layout_width="83dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.3" 
            android:entries="@array/grade"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="1" >

        <Spinner
            android:id="@+id/SpinnerC4"
            android:layout_width="221dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.7" 
            android:entries="@array/course"/>

        <Spinner
            android:id="@+id/SpinnerG4"
            android:layout_width="83dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.3" 
            android:entries="@array/grade"/>
    </LinearLayout>

     <LinearLayout
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:orientation="horizontal"
          android:layout_gravity="bottom|center"
          android:weightSum="1"
        >

     <Spinner
         android:id="@+id/SpinnerC5"
         android:layout_width="221dp"
         android:layout_height="wrap_content" 
         android:layout_weight="0.7"
         android:entries="@array/course"/>

     <Spinner
         android:id="@+id/SpinnerG5"
         android:layout_width="83dp"
         android:layout_height="wrap_content" 
         android:layout_weight="0.3"
         android:entries="@array/grade"/>

        </LinearLayout>

     <LinearLayout
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:layout_gravity="bottom|center"
         android:orientation="horizontal" >

         <Spinner
             android:id="@+id/SpinnerC6"
             android:layout_width="221dp"
             android:layout_height="wrap_content"
             android:layout_weight="0.7" 
             android:entries="@array/course"/>

         <Spinner
             android:id="@+id/SpinnerG6"
             android:layout_width="83dp"
             android:layout_height="wrap_content"
             android:layout_weight="0.3" 
             android:entries="@array/grade"/>

     </LinearLayout>
     <LinearLayout 
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:layout_gravity="bottom|center"
         android:orientation="horizontal" >

         <Button
             android:id="@+id/button1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="Calculate GPA" 
             android:onClick="calculateGPA" />


     </LinearLayout>

</LinearLayout>

然后我的整个java代码的这一页将

 package com.example.gpapredict;

import java.text.DecimalFormat;
import java.util.ArrayList;

import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;


public class Selection extends ActionBarActivity {
    String stuName,stuId, gpaScore, defCourse,gradeA,gradeB,gradeC,gradeD,gradeF,gradeG;
    ArrayList<String> check;
    double cor,score,gpa=999;
    TextView tvName;
    Intent i2;
    Spinner SpinnerC1, SpinnerC2, SpinnerC3, SpinnerC4, SpinnerC5, SpinnerC6, SpinnerG1, SpinnerG2, SpinnerG3, SpinnerG4, SpinnerG5, SpinnerG6;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_selection);
        stuName = getIntent().getStringExtra("name");
        stuId = getIntent().getStringExtra("stuId");
        tvName = (TextView)findViewById(R.id.StudentName);
        tvName.setText("Hi," + stuName);
    }

    public void calculateGPA(View v){
        //retrieve data from spinners
        SpinnerC1 = (Spinner)findViewById(R.id.SpinnerC1);
        SpinnerC2 = (Spinner)findViewById(R.id.SpinnerC2);
        SpinnerC3 = (Spinner)findViewById(R.id.SpinnerC3);
        SpinnerC4 = (Spinner)findViewById(R.id.SpinnerC4);
        SpinnerC5 = (Spinner)findViewById(R.id.SpinnerC5);
        SpinnerC6 = (Spinner)findViewById(R.id.SpinnerC6);
        SpinnerG1 = (Spinner)findViewById(R.id.SpinnerG1);
        SpinnerG2 = (Spinner)findViewById(R.id.SpinnerG2);
        SpinnerG3 = (Spinner)findViewById(R.id.SpinnerG3);
        SpinnerG4 = (Spinner)findViewById(R.id.SpinnerG4);
        SpinnerG5 = (Spinner)findViewById(R.id.SpinnerG5);
        SpinnerG6 = (Spinner)findViewById(R.id.SpinnerG6);

        //save the data into string type
        String[] course = new String[6];
        String[] grade = new String[6];
        course[0] = SpinnerC1.getSelectedItem().toString();
        course[1] = SpinnerC2.getSelectedItem().toString();
        course[2] = SpinnerC3.getSelectedItem().toString();
        course[3] = SpinnerC4.getSelectedItem().toString();
        course[4] = SpinnerC5.getSelectedItem().toString();
        course[5] = SpinnerC6.getSelectedItem().toString();
        grade[0] = SpinnerG1.getSelectedItem().toString();
        grade[1] = SpinnerG2.getSelectedItem().toString();
        grade[2] = SpinnerG3.getSelectedItem().toString();
        grade[3] = SpinnerG4.getSelectedItem().toString();
        grade[4] = SpinnerG5.getSelectedItem().toString();
        grade[5] = SpinnerG6.getSelectedItem().toString();

        //check for no same course
        defCourse = "Select Course";
        check = new ArrayList<String>();
        check.add(course[0]);

        for (String checkCourse:check ){    
            for (int c=1;c<6;c++){  
            if (checkCourse.equals(course[1])){
                    Toast.makeText(getApplicationContext(), "Cannot Proceed : Same course is selected", Toast.LENGTH_LONG).show();
                    return;
                }
                else if(course[c].equals(defCourse)) {
                    continue;
                }else {
                    check.add(course[c]);
                    break;
                }
            }                           
        }




        //calculate score
        gradeA="A";
        gradeB="B";
        gradeC="C";
        gradeD="D";
        gradeF="F";
        gradeG="G";
        //initialize value
        score = 0.0;
        cor=0.0;
        for (int i=0;i<6;i++){
            if(grade[i].equals(gradeA)){
                score = score + 4.0;
                cor++;
            }else 
            if (grade[i].equals(gradeB)){
                score = score + 3.0;
                cor++;
            }else
            if (grade[i].equals(gradeC)){
                score = score + 2.0;
                cor++;
            }else
            if (grade[i].equals(gradeD)){
                score = score + 1.0;
                cor++;
            }else
            if (grade[i].equals(gradeF)){
                score = score+0.0;
                cor++;
            }else{
                score = score +0.0; 
            }       
        }
        if (cor == 0.0){
            cor++;
        }
        gpa = score/cor;
        //set precision to 2 decimal places
        DecimalFormat dec = new DecimalFormat("#0.00");
        gpaScore = String.valueOf(dec.format(gpa));

        Toast.makeText(getApplicationContext(), "okay", Toast.LENGTH_LONG).show();

        i2 = new Intent(Selection.this,Result.class);
        i2.putExtra("stuName",stuName);
        i2.putExtra("stuId",stuId);
        i2.putExtra("courseArray", course);
        i2.putExtra("gradeArray", grade);
        i2.putExtra("gpa", gpaScore);
        startActivity(i2);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.selection, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}
package com.example.gpaprodict;
导入java.text.DecimalFormat;
导入java.util.ArrayList;
导入android.support.v7.app.ActionBarActivity;
导入android.content.Intent;
导入android.os.Bundle;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.widget.Spinner;
导入android.widget.TextView;
导入android.widget.Toast;
公共类选择扩展了ActionBarActivity{
弦乐特技、stuId、gpaScore、defCourse、A级、B级、C级、分级、F级、G级;
数组列表检查;
双cor,得分,gpa=999;
文本视图tvName;
意图i2;
喷丝头C1、喷丝头C2、喷丝头C3、喷丝头C4、喷丝头C5、喷丝头C6、喷丝头G1、喷丝头G2、喷丝头G3、喷丝头G4、喷丝头G5、喷丝头G6;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_selection);
stuName=getIntent().getStringExtra(“名称”);
stuId=getIntent().getStringExtra(“stuId”);
tvName=(TextView)findViewById(R.id.StudentName);
tvName.setText(“嗨,”+stuName);
}
公共区域(视图五){
//从微调器检索数据
喷丝头C1=(喷丝头)findViewById(R.id.喷丝头C1);
喷丝头C2=(喷丝头)findViewById(R.id.喷丝头C2);
喷丝头C3=(喷丝头)findViewById(R.id.喷丝头C3);
喷丝头C4=(喷丝头)findViewById(R.id.喷丝头C4);
喷丝头C5=(喷丝头)findViewById(R.id.喷丝头C5);
喷丝头C6=(喷丝头)findViewById(R.id.喷丝头C6);
喷丝头1=(喷丝头)findViewById(R.id.SpinnerG1);
喷丝头G2=(喷丝头)findViewById(R.id.SpinnerG2);
喷丝头3=(喷丝头)findViewById(R.id.喷丝头3);
喷丝头G4=(喷丝头)findViewById(R.id.SpinnerG4);
喷丝头G5=(喷丝头)findViewById(R.id.SpinnerG5);
喷丝头G6=(喷丝头)findViewById(R.id.喷丝头G6);
//将数据保存为字符串类型
字符串[]课程=新字符串[6];
字符串[]等级=新字符串[6];
课程[0]=喷丝头C1.getSelectedItem().toString();
课程[1]=喷丝头C2.getSelectedItem().toString();
课程[2]=喷丝头C3.getSelectedItem().toString();
课程[3]=喷丝头4.getSelectedItem().toString();
课程[4]=喷丝头C5.getSelectedItem().toString();
课程[5]=喷丝头c6.getSelectedItem().toString();
等级[0]=喷丝头1.getSelectedItem().toString();
等级[1]=喷丝头2.getSelectedItem().toString();
等级[2]=喷丝头3.getSelectedItem().toString();
等级[3]=喷丝头4.getSelectedItem().toString();
等级[4]=喷丝头5.getSelectedItem().toString();
等级[5]=喷丝头6.getSelectedItem().toString();
//检查没有相同的路线
defCourse=“选择课程”;
check=newarraylist();
检查。添加(课程[0]);
对于(字符串checkCourse:check){

对于(int c=1;c,在我看来,单击“继续”按钮时,应该有一个包含
微调器的选定值的arraylist,然后检查arraylist是否有重复值。请尝试以下代码:

 //check for no same course
    defCourse = "Select Course";
    ArrayList check = new ArrayList<String>();
    check.add(defCourse);

        for (int c=0;c<6;c++){  
            if (!check.contains(course[c])) {
                check.add(course[c]);
            }else{
                Toast.makeText(getApplicationContext(), "Cannot Proceed : Same course is selected", Toast.LENGTH_LONG).show();
            }
        }                           
//检查是否没有相同的课程
defCourse=“选择课程”;
ArrayList检查=新建ArrayList();
检查。添加(除课程);

对于(int c=0;c我找到了我的解决方案

// check for no same course
        defCourse = "Select course";
        check = new ArrayList<String>();
        check.add(course[0]);

        for (int c = 1; c < 6; c++) {
            if (check.contains(course[c])) {
                Toast.makeText(getApplicationContext(),
                        "Cannot Proceed : Same course is selected",
                        Toast.LENGTH_LONG).show();
                return;
            } else if (course[c].equals(defCourse)) {
                continue;
            } else {
                check.add(course[c]);
            }
        }
//检查是否没有相同的课程
defCourse=“选择课程”;
check=newarraylist();
检查。添加(课程[0]);
对于(int c=1;c<6;c++){
如果(检查包含(课程[c])){
Toast.makeText(getApplicationContext(),
“无法继续:选择了相同的课程”,
Toast.LENGTH_LONG).show();
返回;
}else如果(航向[c].等于(除航向)){
继续;
}否则{
检查。添加(课程[c]);
}
}

谢谢您的帮助:)

谢谢您的帮助。但我必须已经选择了6门课程。如果我希望我的应用程序继续进行下一个活动,即使用户只选择了三门课程,该怎么办?