相关代码段:
public class MyPreference extends Preference {
public MyPreference(Context context, AttributeSet attrs) {
super(context, attrs);
this.ctx = context;
this.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
Toast.makeText(ctx, "Preference has been clicked", Toast.LENGTH_LONG).show();
return true;
}
});
}
}
现在我想在onPreferenceClick处理程序返回true时进行一些处理(基本上调用finish())。
指针?
修改 在onClick中添加了finish(),但它无法正常工作。没错。只是祝酒而已。我打算在MyPreference点击后关闭应用程序
public boolean onPreferenceClick(Preference preference) {
Toast.makeText(ctx, "Preference has been clicked", Toast.LENGTH_LONG).show();
MainPreferenceActivity mainPref = new MainPreferenceActivity();
mainPref.finish();
return true;
}
可能我做错了。创建一个MainActivity的newInstance不会杀死我想的父MainActivity,对吗?我是Java和android的新手。对不起:(!
答案 0 :(得分:0)
尝试使用Eclipse调试代码,您可以在其中设置调试点,并可以检查流量以及每个变量中的不同值。甚至你可以逐步调试。
使用f8移动到下一个调试点并逐步调试是使用f6。
这可以帮助我们检查代码中的每个位置。
答案 1 :(得分:0)
如果您想跟踪代码的执行流程,我建议您使用Log.e(TAG,“”),并在Logcat窗口(Eclipse组合)中观察它。 对于你的问题,我有两个想法:
1)如果你想完成,那么在OnClick方法中完成它。
2)您还可以在onClick方法中设置一个标志,例如:
if(flag) {
doSomething();
}
如果已设置标志,则doSomething例程正确。