-5

第一个微调器没问题,第二个微调器是 ArrayList, ArrayAdapter<> 它加载一个文件名文件夹,所以,我想知道如何使用 if() 像文件名包含或列表项包含,因为每个文件以 62 或 31 开头。

     public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
        long arg3)
{
    switch(arg0.getId())
    {
    case R.id.spinner:
    {
    if(arg2 == 0)
    {
        break;
    }
    if(arg2 == 1)
    {
        Intent myIntent = new Intent(Inspector.this, hord.class);
        Inspector.this.startActivity(myIntent);
        break;
    }
    if(arg2 == 2)
    {
        Intent myIntent = new Intent(Inspector.this, hord.class);
        Inspector.this.startActivity(myIntent);
        break;
    }
    }
    case R.id.recent:
    {
        if(arg1.getContentDescription().toString().contains("62"))//what im trying to do
        {
            deviation.setText("jobwelldone");
        }

    }
    }

    // TODO Auto-generated method stub

}
4

1 回答 1

2

将文件名保存在 String 数组中后,您可以使用 for 循环遍历数组并使用

indexOf() 

方法在调用 String 对象中搜索传递给它的 String。例如:

( if filename.indexOf(String.valueOf(62)) == -1 ) 

// 表示文件名字符串不包含 '62' substrng,因为 indefOf() 方法返回 -1。否则文件名字符串包含“62”子字符串。

要从微调器中获取项目:

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        Object item = parent.getItemAtPosition(position);
    }
    public void onNothingSelected(AdapterView<?> parent) {
    }
});

或使用:

String spinnerValue = mySpinner.getSelectedItem().toString();
于 2012-12-06T22:48:20.340 回答