我已经提到了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?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)