android - 从 View 访问 Activity 的最佳实践

标签 android

我有一个看似简单的问题,但我无法弄清楚什么是最佳实践:)

View 访问的最佳做法是什么?Activity 上启动 View 的方法是什么?

例如,我有一个 Activity,其布局包含一个 Button 和一个 Textfield。我希望当我点击 Button 时,在我的 Activity 上调用一个方法,用一些值更新 Textfield。我有多种解决方案:

1 - OnClickListener 的内部类直接在 Activity 上,所以我可以使用 MyActivity.this 的 Activity 方法.updateTextField()onClick 方法上

2 - OnClickListener 的外部类,在我的onClick 方法中,我可以执行以下操作:((MyActivity)getContext()).updateTextField()

3 - 在我实例化OnClickListener 类时引用Activity: myButton.setOnClickListener(new MyOnclickListener(MyActivity));

我不想要解决方案 1,因为我不喜欢那么多内部类并且我想要可重用代码。解决方案 2 似乎不错,但如果我的上下文不是 Activity ,则可能会在运行时产生错误。解决方案 3 看起来也不错,但“很重”。

Android 上从View 到它的Activity 的最佳实践是什么,需要在 Activity 上做些什么?

谢谢!

最佳答案

使用 onclickListener 实现 Activity 并添加未实现的方法 onclick 如果您使用多个按钮,只需检查 View 以查看单击了哪个按钮

关于android - 从 View 访问 Activity 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9727755/

相关文章:

android - 在没有 C2DM 的情况下通过本地网络将通知从设备推送到设备

android - 如何在android线性布局上获得阴影?

java - 将当前 Activity 实例传递给方法

android - 如何在 renderscript 和 android 框架之间交换数据?

android - EditText 在按下后退按钮后返回先前输入的数据

android - 找不到处理 Intent { act=android.media.action.IMAGE_CAPTURE } 的 Activity

java - 防止 LibGDX 游戏在暂停时完全停止

java - 使用 jsoup 登录 espn Fantasy Football League 并抓取统计数据

android - 应用程序更新后,预加载应用程序的 android list "persistent=true"是否仍然适用?

android - 仅支持 311 台设备(Google Play 商店 APK 上传)