Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.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 调用微调器或MSelect侦听器_Android_Android Spinner_Onitemselectedlistener - Fatal编程技术网

Android 调用微调器或MSelect侦听器

Android 调用微调器或MSelect侦听器,android,android-spinner,onitemselectedlistener,Android,Android Spinner,Onitemselectedlistener,当一个项目被选中时,我真的很接近让我的微调器做一些事情。我就是不知道如何正确设置onitemselectedlistener。我认为我的问题是不知道如何将参数传递给我选择的方法。非常感谢您帮助我们完成这项工作的最后一部分 代码如下: public class MainActivity extends AppCompatActivity { Spinner spinner; String[][] testScoreList = new String[3][3]; @

当一个项目被选中时,我真的很接近让我的微调器做一些事情。我就是不知道如何正确设置onitemselectedlistener。我认为我的问题是不知道如何将参数传递给我选择的方法。非常感谢您帮助我们完成这项工作的最后一部分

代码如下:

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

使用自定义适配器的完整教程