Android 调用微调器或MSelect侦听器
当一个项目被选中时,我真的很接近让我的微调器做一些事情。我就是不知道如何正确设置onitemselectedlistener。我认为我的问题是不知道如何将参数传递给我选择的方法。非常感谢您帮助我们完成这项工作的最后一部分 代码如下:Android 调用微调器或MSelect侦听器,android,android-spinner,onitemselectedlistener,Android,Android Spinner,Onitemselectedlistener,当一个项目被选中时,我真的很接近让我的微调器做一些事情。我就是不知道如何正确设置onitemselectedlistener。我认为我的问题是不知道如何将参数传递给我选择的方法。非常感谢您帮助我们完成这项工作的最后一部分 代码如下: public class MainActivity extends AppCompatActivity { Spinner spinner; String[][] testScoreList = new String[3][3]; @
public class MainActivity extends AppCompatActivity {
Spinner spinner;
String[][] testScoreList = new String[3][3];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Load test scores into arraylist
nameArrayListMethod();
spinner.setOnItemSelectedListener(onItemSelected());
}
//This method loads test scores into an array and populates spinner
public void nameArrayListMethod (){
InputStreamReader InputSR = null;
BufferedReader BufferedRdr = null;
String thisLine = null;
AssetManager am = getAssets();
String[] SpinnerNames = new String[3];
try {
InputSR = new InputStreamReader(am.open("scoresdata/test_scores.txt"));
BufferedRdr = new BufferedReader(InputSR);
// open input stream test_scores for reading purpose.
int i = 0;
while ((thisLine = BufferedRdr.readLine()) != null) {
//System.out.println(thisLine);
String[] parts = thisLine.split(" ");
testScoreList[i][0] = parts[0];
testScoreList[i][1] = parts[1];
testScoreList[i][2] = parts[2];
SpinnerNames[i] = testScoreList[i][0]; //Extract first column for spinner
i = i +1;
}
BufferedRdr.close();
InputSR.close();
} catch (Exception e) {
e.printStackTrace();
}
spinner= (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item, SpinnerNames);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerArrayAdapter);
}
public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) {
Toast.makeText(parent.getContext(),
"OnItemSelectedListener : " + parent.getItemAtPosition(pos).toString(),
Toast.LENGTH_SHORT).show();
}
}
public类MainActivity扩展了AppCompatActivity{
纺纱机;
字符串[][]testScoreList=新字符串[3][3];
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//将测试分数加载到arraylist中
nameArrayListMethod();
spinner.setOnItemSelectedListener(onItemSelected());
}
//此方法将测试分数加载到数组中并填充微调器
公共无效名称ArrayListMethod(){
InputStreamReader InputSR=null;
BufferedReader BufferedDr=null;
字符串thisLine=null;
AssetManager am=getAssets();
字符串[]喷丝头名称=新字符串[3];
试一试{
InputSR=新的InputStreamReader(am.open(“scoresdata/test_scores.txt”);
BufferedRdr=新的BufferedReader(InputSR);
//为阅读目的打开输入流测试分数。
int i=0;
而((thisLine=buffereddr.readLine())!=null){
//System.out.println(此行);
String[]parts=thisLine.split(“”);
testScoreList[i][0]=零件[0];
testScoreList[i][1]=零件[1];
testScoreList[i][2]=零件[2];
SpinnerNames[i]=testScoreList[i][0];//提取spinner的第一列
i=i+1;
}
buffereddr.close();
InputSR.close();
}捕获(例外e){
e、 printStackTrace();
}
微调器=(微调器)findViewById(R.id.spinner1);
ArrayAdapter SpinnerayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u spinner\u dropdown\u项,SpinnerNames);
spinnerrayadapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
spinner.setAdapter(SpinNearrayaAdapter);
}
已选择公共位置(AdapterView父项、视图、整数位置、长id){
Toast.makeText(parent.getContext(),
OnItemSelectedListener:+parent.getItemAtPosition(pos.toString(),
吐司。长度(短)。show();
}
}
它看起来像:
spinner.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(parent.getContext(),
"OnItemSelectedListener : " + parent.getItemAtPosition(pos).toString(),
Toast.LENGTH_SHORT).show();
}
});
spinner.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Toast.makeText(parent.getContext(),
OnItemSelectedListener:+parent.getItemAtPosition(pos.toString(),
吐司。长度(短)。show();
}
});
它看起来像:
spinner.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(parent.getContext(),
"OnItemSelectedListener : " + parent.getItemAtPosition(pos).toString(),
Toast.LENGTH_SHORT).show();
}
});
spinner.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Toast.makeText(parent.getContext(),
OnItemSelectedListener:+parent.getItemAtPosition(pos.toString(),
吐司。长度(短)。show();
}
});
试试这个
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
spinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
}
@凌驾
未选择公共无效(AdapterView父级){
}
});
试试这个
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
spinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
}
@凌驾
未选择公共无效(AdapterView父级){
}
});
您可以通过两种方式添加数据
方法1
如果您有简单的单行数据,请使用此方法
步骤1
在string.xml文件中添加字符串数组
<string-array name="ArrayName">
<item>A</item>
<item>B</item>
<item>C</item>
<item>D</item>
<item>E</item>
<item>F</item>
</string-array>
方法2
使用自定义适配器的教程已完成您可以通过两种方式添加数据 方法1 如果您有简单的单行数据,请使用此方法 步骤1 在string.xml文件中添加字符串数组
<string-array name="ArrayName">
<item>A</item>
<item>B</item>
<item>C</item>
<item>D</item>
<item>E</item>
<item>F</item>
</string-array>
方法2
使用自定义适配器的完整教程