我打算檢查紡紗廠,以確保他們沒有選擇相同的物品。檢查紡紗廠,以防止他們選擇相同的物品
還有我的代碼
<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);
}
}
由於鏈路的限制,我可以張貼,生病顯示我的接口和錯誤消息在其他圖像。
現在我的應用程序能夠在將其他spinners的值與第一個微調器的值進行比較時顯示用戶錯誤。因爲我的應用程序發現第一個和第二個微調選擇相同的課程。它如圖所示。
如果第二微調的值是從第一個不同,但與第三微調的值相同,則應用程序允許進入下一頁。這不是我想要的。我希望我的應用程序能夠確保用戶不會從旋轉器中選擇相同的主題。
此圖顯示用戶在第二個微調框和第三個微調框中選擇相同的菜單的結果。我不希望它是。
Result of 2nd spinner and third spinner have the same value.
再次你的幫助是非常讚賞,如果我的解釋仍然不夠清晰,我哭解釋甚至更多的細節。
感謝您的幫助。但是我必須選擇6門課程。即使用戶只選擇三個主題,如果我希望我的申請繼續進行下一個活動,該怎麼辦? –
Nvm,我已經解決了我的問題。 –