2016-03-07 3 views
-2

Я не понимаю, почему синтаксическая ошибка запрашивается в последней скобке. Независимо от того, как я изменяю код, ошибка, похоже, застряла в конце кода и не исчезает. Показаны две ошибки. 1st: Insert ";" для завершения FieldDeclaration. 2nd: Вставьте «}» для завершения ClassBody. Если кто-нибудь может помочь мне разобраться? Благодаря!
`Непрерывная синтаксическая ошибка в конце кода

public class AKMainActivity extends Activity { 

    private static final String ACTIVITIES = "activities"; 
    private Spinner spinner1; 
    private EditText ETinfo; 
    private SharedPreferences savedActivities; 
    private ArrayList<String> details; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_akmain); 

     Spinner dropdown = (Spinner)findViewById(R.id.spinner1); 
     String[] items = new String[]{"Walking", "Running", "Stairs", "Generic"}; 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, items); 
     dropdown.setAdapter(adapter); 
     dropdown.setPrompt("Select Activity"); 

     ETinfo = (EditText)findViewById(R.id.ETinfo); 

     savedActivities = getSharedPreferences(ACTIVITIES, MODE_PRIVATE); 

     details = new ArrayList<String>(savedActivities.getAll().keySet()); 
     Collections.sort(details, String.CASE_INSENSITIVE_ORDER); 

     public OnClickListener saveButtonListener = new OnClickListener(){ 

      public void onClick(View v){ 

       addDetailedActivity(ETinfo.getText().toString()); 
       ETinfo.setText(""); 
      } 
      } 
+1

Проверьте свои фигурные скобки для каждой открытой фигурной скобки, там должна быть плотная фигурная скобка. – Shriram

+0

Я уже проверил все открытые и закрытые фигурные скобки, хотя они, кажется, все в порядке? – Khan

+0

Вам не хватает скобки} и есть 'at last.Remove it first –

ответ

0

Вы определяете внутренний класс, и не хватает запятой. Я также рекомендовал бы @Override annotation`. Что-то вроде,

public OnClickListener saveButtonListener = new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     addDetailedActivity(ETinfo.getText().toString()); 
     ETinfo.setText(""); 
    } 
}; // <-- to close OnClickListener 
+0

Спасибо! Это то, чего мне не хватало – Khan

0

Сообщение об ошибке указано, поскольку вы отсутствуете или имеете дополнительную привязку. Попробуйте добавить скобу '}' в конце кода, и если проблема не исчезнет, ​​попробуйте удалить ее и еще одну скобу. Скобка действует как ограничители и разделители для кода. Если не указано правильно, код столкнется с ошибками компиляции.

0

у вас есть в конце кода что-то вроде:

public OnClickListener saveButtonListener = new OnClickListener(){ 

      public void onClick(View v){ 

       addDetailedActivity(ETinfo.getText().toString()); 
       ETinfo.setText(""); 
      } 
      } 

это называется анонимный класс и является фактически еще одно заявление, которое должно быть

закончился W с точкой с запятой,

public OnClickListener saveButtonListener = new OnClickListener(){ 

      public void onClick(View v){ 

       addDetailedActivity(ETinfo.getText().toString()); 
       ETinfo.setText(""); 
      } 
      }; 
0
public class a extends Activity { 

    private static final String ACTIVITIES = "activities"; 
    private Spinner spinner1; 
    private EditText ETinfo; 
    private SharedPreferences savedActivities; 
    private ArrayList<String> details; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_akmain); 

     Spinner dropdown = (Spinner)findViewById(R.id.spinner1); 
     String[] items = new String[]{"Walking", "Running", "Stairs", "Generic"}; 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, items); 
     dropdown.setAdapter(adapter); 
     dropdown.setPrompt("Select Activity"); 

     ETinfo = (EditText)findViewById(R.id.ETinfo); 

     savedActivities = getSharedPreferences(ACTIVITIES, MODE_PRIVATE); 

     details = new ArrayList<String>(savedActivities.getAll().keySet()); 
     Collections.sort(details, String.CASE_INSENSITIVE_ORDER); 

     public OnClickListener saveButtonListener = new OnClickListener(){ 

      public void onClick(View v){ 

       addDetailedActivity(ETinfo.getText().toString()); 
       ETinfo.setText(""); 
      } 
     }; 

    } 
    } 

Попробуйте это. Вам нужно было вставить точку с запятой, так как onClicklistener является локализованным декларатором по заявлению.

Смежные вопросы