我是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);
}
我想创建一个应用程序,它会计算一些点,用户会选择等级。示例:spinner将包含等级,例如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},我想在这里达到相同的效果。
答案 0 :(得分: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中,最好在类名上使用大写首字母,例如功能而不是功能。