Android编程,有点问题。

这一次,我在括号下得到了红色的波浪形,告诉我“插入”EnumBody“完成EnumDeclaration”

它发生在这段代码的最后一行,在最后一个括号上;

if (position == 3){ Intent intent = new Intent(Main.this, Progress.class); Main.this.startActivity(intent); } } } ) 

这是我的整个活动代码;

 package com.example.gymbuddy; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Spinner; public class Main extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button2).setOnClickListener(new handleButton2()); findViewById(R.id.button3).setOnClickListener(new handleButton3()); findViewById(R.id.button4).setOnClickListener(new handleButton4()); Spinner spinner = (Spinner) findViewById(R.id.spinner); ArrayAdapter adapter = ArrayAdapter.createFromResource( this, R.array.work_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); } class handleButton2 implements OnClickListener { public void onClick(View v) { Intent intent = new Intent(Main.this, Benchmark.class); startActivity(intent); } } class handleButton3 implements OnClickListener { public void onClick(View v) { Intent intent = new Intent(Main.this, Progress.class); startActivity(intent); } } class handleButton4 implements OnClickListener { public void onClick(View v) { Intent intent = new Intent(Main.this, Settings.class); startActivity(intent); } }@ spinner.setOnItemSelectedListener(new OnItemSelectedListener() { public void onItemSelected(AdapterView parentView, View selectedItemView, int position, long id) { if (position == 1){ Intent intent = new Intent(Main.this, Upperbody.class); Main.this.startActivity(intent); } if (position == 2){ Intent intent = new Intent(Main.this, Settings.class); Main.this.startActivity(intent); } if (position == 3){ Intent intent = new Intent(Main.this, Progress.class); Main.this.startActivity(intent); } } } ) } 

这是实际的代码吗? 可能是类handleButton4末尾的附加“@”字符吗?

 class handleButton4 implements OnClickListener { public void onClick(View v) { Intent intent = new Intent(Main.this, Settings.class); startActivity(intent); } }@ // <------- this 

在我看来,onCreate方法已经关闭到早期,spinner.setOnItemSelectedListener应该在该方法和定义的内部clsses之外。 spinner.setOnItemSelectedListener只是在类的中间浮动,也许它应该在onCreate方法中。 (这可能是有效的语法,但我不确定这是否是你想要实现的东西)

该语句可能像Java中的初始化块一样处理,即使没有括号。 (但我不是百分百肯定)参见: http : //jpz-log.info/archives/2009/03/25/initialization-blocks-in-java/

用这些代码行替换您的活动代码,然后再次尝试编译:

 public class Main extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button2).setOnClickListener(new handleButton2()); findViewById(R.id.button3).setOnClickListener(new handleButton3()); findViewById(R.id.button4).setOnClickListener(new handleButton4()); Spinner spinner = (Spinner) findViewById(R.id.spinner); ArrayAdapter adapter = ArrayAdapter.createFromResource( this, R.array.work_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new OnItemSelectedListener() { public void onItemSelected(AdapterView parentView, View selectedItemView, int position, long id) { if (position == 1){ Intent intent = new Intent(Main.this, Upperbody.class); Main.this.startActivity(intent); } if (position == 2){ Intent intent = new Intent(Main.this, Settings.class); Main.this.startActivity(intent); } if (position == 3){ Intent intent = new Intent(Main.this, Progress.class); Main.this.startActivity(intent); } } } ); } class handleButton2 implements OnClickListener { public void onClick(View v) { Intent intent = new Intent(Main.this, Benchmark.class); startActivity(intent); } } class handleButton3 implements OnClickListener { public void onClick(View v) { Intent intent = new Intent(Main.this, Progress.class); startActivity(intent); } } class handleButton4 implements OnClickListener { public void onClick(View v) { Intent intent = new Intent(Main.this, Settings.class); startActivity(intent); } } }