java-“标题”视图和按钮:如何将侦听器附加到没有自己的活动的“标题”中的Button?

java-“标题”视图和按钮:如何将侦听器附加到没有自己的活动的“标题”中的Button?,第1张

概述我已经提到了here这个问题,克里斯托弗(Christopher)在这里回答了这个问题,但我不是很理解,所以我认为是时候让它成为一个真正的问题,而不仅仅是“跟进”=)就目前而言,我正在编写的应用程序具有4个不同的屏幕:>屏幕1-节点列表(主屏幕)>屏幕2-选项菜单,带有按钮的tableLayout>屏幕

我已经提到了here这个问题,克里斯托弗(Christopher)在这里回答了这个问题,但我不是很理解,所以我认为是时候让它成为一个真正的问题,而不仅仅是“跟进” =)

就目前而言,我正在编写的应用程序具有4个不同的屏幕:

>屏幕1-节点列表(主屏幕)
>屏幕2-选项菜单,带有按钮的tableLayout
>屏幕3-导航
>屏幕4-版本等文本详细信息

可以使用顶部的“标题”视图在这些屏幕之间进行导航.标题然后具有4个不同的按钮:

+--------------------+| menu with buttons  |+--------------------+|                    ||                    ||                    ||  C O N T E N T     ||                    ||                    ||                    |+--------------------+

标头只是带有几个按钮的XML文件(header.xml).该header.xml是使用include-markup包含在布局中的.例如,main.xml中包含以下行:

<include layout="@layout/header"></include>

标题显示正确,但问题是-为标题中的按钮附加OnClickListeners的正确方法是什么?

Christopher pointed out,您可以创建一个Activity类并在那里进行钩子,如下所示:

public class BaseActivity extends Activity {    protected VIEw.OnClickListener mbuttonListener;    protected voID setupheaderbuttons() {        findVIEwByID(R.ID.header_btn_1).setonClickListener(mbuttonListener);        // ...        findVIEwByID(R.ID.header_btn_n).setonClickListener(mbuttonListener);    }}public class FirstActivity extends BaseActivity {    @OverrIDe    public voID onCreate(Bundle b) {        super.onCreate(b);        setContentVIEw(R.layout.first_activity);        // This needs to be done *after* the VIEw has been inflated        setupheaderbuttons();    }}

首先,由于无法从FirstActivity访问setupheaderbuttons方法,因此无法使其正常工作.其次,这是正确的做法吗?

解决方法:

setupheaderbuttons()方法受到保护,因此只能由扩展该基类的类(在本例中为BaseActivity)访问.

您确定您的FirstActivity正在扩展BaseActivity吗?

总结

以上是内存溢出为你收集整理的java-“标题”视图和按钮:如何将侦听器附加到没有自己的活动的“标题”中的Button?全部内容,希望文章能够帮你解决java-“标题”视图和按钮:如何将侦听器附加到没有自己的活动的“标题”中的Button?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1094758.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存