android - for循环不会在onClick中执行

时间:2014-01-02 00:37:39

标签: java android for-loop android-asynctask onclick

我正在为音乐家开发应用(初学者应用)。它由一个EditText,一个Spinner,一个TextView和一个Button组成。用户将在EditText中输入和弦进行(例如:C,D,E,A)。然后,用户可以选择半音的数量来向上或向下移动/移动他的和弦滑动。例如,如果他选择2个半音,TextView中的结果将显示:D,E,F#,B。

我的EditText中的和弦被分割成这样的字符串数组(在onClick方法中):

 // LOAD INPUT
        input =(EditText)findViewById(R.id.chords);
        String chords=input.getText().toString();
        String separate[]=chords.split(",");

Spinner的选择是在onCreate方法中执行的:

 public void onItemSelected(AdapterView<?> arg0, View view, int pos, long id) {
            selected = spinner.getSelectedItem().toString();
        }

现在,在我的onClick方法中,由我的唯一Button执行,我有这个(除了那个和平// LOAD INPUT):

 public void proceed (View view){         //my onClick Method
 .
 .              //here is the "LOAD INPUT" part
 .

 String[] tones = {"C","Cis","D","Dis","E","F","Fis","G","Gis","A","Ais","B"};
 String[] result1;
 int l =separate.length;  //length of separate[]
 for(int k=0; k<=l; k++){
        Log.e("LOOP", "LOOP");  
        // INPUT POSITION
                int i= Arrays.asList(tones).indexOf(separate[k]);


        // RESULT INDEX
                int j =Integer.parseInt(selected);
                int index = i+j;    


        // RESULT
                String res=tones[index];
                result1[k]=res;                         

    }

        TextView result =(TextView)findViewById(R.id.result);
            result.setText(Arrays.toString(result1));
 }

一切正常,但循环不循环。它根本不会执行。我试图把它放到AsyncTask中,但正如你所看到的,我需要在String[]单独和字符串选中的情况下工作。我只能将其中一个传递给我的AsyncTask。我希望很清楚。有人可以帮帮我吗?

0 个答案:

没有答案