0

我是android开发的新手,对C# windows编程有一些经验,但也很少。我正在开发一个使用微调器的 android 应用程序。到目前为止,我找到了一个制作微调器项目的教程,并在您选择微调器项目时在文本视图中显示微调器文本。代码如下所示:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    spinner =(Spinner)findViewById(R.id.sp);
    text=(TextView)findViewById(R.id.tv);
    ArrayAdapter<CharSequence> adapter =ArrayAdapter.createFromResource(this, R.array.spinnerarray, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  spinner.setAdapter(adapter);
  spinner.setOnItemSelectedListener(new function());
}


public class function implements OnItemSelectedListener {

    @Override
    public void onItemSelected(AdapterView<?> parent, View arg1, int pos,
            long id) {
        // TODO Auto-generated method stub
        String str=parent.getItemAtPosition(pos).toString();
        text.setText(str);

    }

我想做一个应用程序,它会计算一些分数,用户会选择等级。示例:微调器将包含等级,例如 Negative(1)、Positive(2)、Good(3)、Very Good(4)、Excellent(5)。我想实现,当用户选择一个等级时,可以说非常好,应用程序将使用非常好的等级,即 4,并将其转换为由我确定的一些点(1=20, 2 =40,3=60,4=80,5=100)。这些分数将在稍后用于计算,但我不知道如何将分数分配给某个等级。我希望你能理解我的问题并感谢你的帮助。

我有相同的 Windows 应用程序,我只是使用了类似的东西:if(veryGood.IsSelected==true){points = 20},我想在这里达到相同的效果。

4

1 回答 1

0

您需要对函数类进行简单修改:

public class function implements OnItemSelectedListener {

   private final static int[] grades = new int[]{20,40,60,80,100}; //change in whatever you want. The length of the array must be the same of the adapter, or an ArrayIndexOutOfBoundException may be throwed.

   @Override
   public void onItemSelected(AdapterView<?> parent, View arg1, int pos, long id) {
       text.setText(grades[pos] + " points!");
   }
}

PS:在 Java 中,在类名上使用大写首字母是一种很好的做法,例如 Function 而不是 function。

于 2013-05-06T17:26:10.807 回答