Jac*_*ack 19 android overriding annotations android-preferences
当我尝试使用此代码启用我的应用程序的首选项时
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.Preference.OnPreferenceClickListener;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.RadioButton;
import android.widget.Toast;
import android.widget.CompoundButton.OnCheckedChangeListener;
public class Preferences extends PreferenceActivity {
private RadioButton btn01;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
btn01 = (RadioButton)findViewById(R.id.RadioButton01);
Preference customPref = (Preference) findPreference("customPref");
customPref.setOnPreferenceClickListener(new OnPreferenceClickListener(){
public boolean onPreferenceClick(Preference preference) {
Toast.makeText(getBaseContext(),"The Custom Preference Has Been Clicked",Toast.LENGTH_LONG).show();
SharedPreferences customSharedPreference = getSharedPreferences("myCutomSharedPrefs", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = customSharedPreference.edit();
editor.putString("myCustomPref","The preference has been clicked");
editor.commit();
return true;
}
public void CheckBox() {
final CheckBox ThisCheckBox = (CheckBox) findViewById (R.id.checkboxPref);
ThisCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton compoundButton,boolean test) {
if (ThisCheckBox.isChecked()){
btn01.setVisibility(0);
} else {
btn01.setVisibility(2);
}
}
});
};
});
}
}
Run Code Online (Sandbox Code Playgroud)
此行生成错误
public void onCheckedChanged(CompoundButton compoundButton,boolean test) {
Run Code Online (Sandbox Code Playgroud)
他说:
Multiple markers at this line
- The method onCheckedChanged(CompoundButton, boolean) of type new
CompoundButton.OnCheckedChangeListener(){} must override a superclass method
- implements
android.widget.CompoundButton.OnCheckedChangeListener.onCheckedChanged
Run Code Online (Sandbox Code Playgroud)
如果我删除@Override注释,则代码不起作用,并且警告告诉我代码的那一部分未在本地使用.
经过这个过去,有人困惑他们,我想知道你是否可以提供帮助?
是否存在导致此错误的常见方案?
我认为这可能是我的项目设置
谢谢
Ham*_*amy 18
这是一个实现的事情.在Java 5和Java 6他们改变了你是否能使用"覆盖"与接口(因为覆盖似乎暗示要覆盖某种默认行为,你是不是有一个接口做!).如果您愿意,可以在Eclipse首选项中进行搜索,并将其从编译错误更改为编译警告.你在CheckBox()函数里面的代码看起来很好.
但是,您永远不会调用CheckBox函数,因此"本地未使用"错误来自于此.你是否想在OnPreferenceClick方法中调用该函数?
| 归档时间: |
|
| 查看次数: |
16347 次 |
| 最近记录: |