因此,我有一个用于列表视图的onItemLongClickListener,该列表视图传递了一个参数“ int位置”.在内部,我有一个带有两个按钮的alertDialogBuilder.我还有另一个按钮的onclickListener.我需要从第二个侦听器内部访问该位置.无论如何,有没有做成为全球性的事情?
public boolean onItemLongClick(AdapterVIEw parent, VIEw itemVIEw, int position, long ID){ AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(BookFace.this); alertDialogBuilder.setTitle("Choose an option."); alertDialogBuilder .setMessage("What would you like to do?") .setCancelable(true) .setPositivebutton("Edit", new DialogInterface.OnClickListener(){ @OverrIDe public voID onClick(DialogInterface dialog, int which) { Intent intent = new Intent(); intent.putExtra("position", position); //Can't access this variable intent.setClass(SomeClass.this, Editactivity.class); startActivity(intent); }
谢谢你的帮助.
解决方法:
在Java中,只有先将内部变量声明为final,才能从内部类声明访问外部变量.因此,您可以添加:
final int selectedposition = position;
在您方法的顶部,并在您的额外费用中使用该值,即
intent.putExtra("position", selectedposition);
总结 以上是内存溢出为你收集整理的java-从onclicklistener访问变量全部内容,希望文章能够帮你解决java-从onclicklistener访问变量所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)