Я не могу это изобразить, но скобка перед тем, как onCreateOptionsMenu говорит, что пространство справа от него ожидает класса или интерфейса. помогите, я просто не могу это понять! я действительно не знаю, что происходит.класс или интерфейс, ожидаемый после скобки
package com.spizer.mizer2;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ExpandableListView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.ExpandableListView.OnGroupClickListener;
import android.widget.ExpandableListView.OnGroupCollapseListener;
import android.widget.ExpandableListView.OnGroupExpandListener;
import android.widget.Toast;
public class DifficultyMenu extends AppCompatActivity {
private int T1;
private int T2;
private int T3;
private int T4;
private String S1;
private String S2;
private String S3;
private String S4;
ExpandableListAdapter listAdapter;
ExpandableListView expListView;
List<String> listDataHeader;
HashMap<String, List<String>> listDataChild;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_difficulty_menu);
// get the list view
expListView = (ExpandableListView) findViewById(R.id.lvExp);
// preparing list data
prepareListData();
listAdapter = new ExpandableListAdapter(this, listDataHeader, listDataChild);
// setting list adapter
expListView.setAdapter(listAdapter);
// List view Group click listener
expListView.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v,
int groupPosition, long id) {
// Toast.makeText(getApplicationContext(),
// "Group Clicked " + listDataHeader.get(groupPosition),
// Toast.LENGTH_SHORT).show();
return false;
}
});
// List view Group expanded listener
expListView.setOnGroupExpandListener(new OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
Toast.makeText(getApplicationContext(),
listDataHeader.get(groupPosition) + " Expanded",
Toast.LENGTH_SHORT).show();
}
});
// List view Group collapsed listener
expListView.setOnGroupCollapseListener(new OnGroupCollapseListener() {
@Override
public void onGroupCollapse(int groupPosition) {
Toast.makeText(getApplicationContext(),
listDataHeader.get(groupPosition) + " Collapsed",
Toast.LENGTH_SHORT).show();
}
});
// List view on child click listener
expListView.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
// TODO Auto-generated method stub
Toast.makeText(
getApplicationContext(),
listDataHeader.get(groupPosition)
+ " : "
+ listDataChild.get(
listDataHeader.get(groupPosition)).get(
childPosition), Toast.LENGTH_SHORT)
.show();
return false;
}
});
}
/*
* Preparing the list data
*/
private void prepareListData() {
listDataHeader = new ArrayList<String>();
listDataChild = new HashMap<String, List<String>>();
// Adding child data
listDataHeader.add("AdditionDifficulty");
listDataHeader.add("SubtractionDifficulty");
listDataHeader.add("MultiplicationDifficulty");
listDataHeader.add("DivisionDifficulty");
// Adding child data
List<String> AdditionDifficulty = new ArrayList<String>();
while(true) {
if(T1<10) {
String S1 = Integer.toString(T1);
AdditionDifficulty.add(S1);
T1++;
continue;
}
else {
break;
}
}
List<String> SubtractionDifficulty = new ArrayList<String>();
while(true) {
if(T2<10) {
String S2 = Integer.toString(T2);
SubtractionDifficulty.add(S2);
T2++;
continue;
}
else {
break;
}
}
List<String> MultiplicationDifficulty = new ArrayList<String>();
while(true) {
if(T3<10) {
String S3 = Integer.toString(T3);
MultiplicationDifficulty.add(S3);
T3++;
continue;
}
else {
break;
}
}
List<String> DivisionDifficulty = new ArrayList<String>();
while(true) {
if(T4<10) {
String S4 = Integer.toString(T4);
DivisionDifficulty.add(S4);
T4++;
continue;
}
else {
break;
}
}
listDataChild.put(listDataHeader.get(0), AdditionDifficulty); // Header, Child data
listDataChild.put(listDataHeader.get(1), SubtractionDifficulty);
listDataChild.put(listDataHeader.get(2), MultiplicationDifficulty);
listDataChild.put(listDataHeader.get(3), DivisionDifficulty);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_difficulty_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Когда вы кодируете, убедитесь, что вы делаете отступы правильно. Обычно, если вы используете IDE, например Eclipse или Android Studio, он автоматически будет отступом для вас. Похоже, вы, возможно, добавили слишком близкую фигуру прямо перед методом. Если он правильно отпечатан, вы можете сразу заметить, что вы получили метод, в котором должен быть класс. – mmking
вы можете отправить ответ, исправляющий мою ошибку, потому что я не уверен, что понимаю вас правильно. –
Я имею в виду, что если ваш код был правильно отступом, все фигурные скобки на том же уровне отступа были бы одинаковыми, поэтому все по одному отступу было бы классами, и все, что было бы по другому отступу, было бы методами, например. Тогда вы поняли бы, что у вас есть метод на том же уровне, что и класс. – mmking