android-程序片段后面添加方法

问题描述

程序片段后面添加方法
我有一个程序片段是一个“计时器”它可以添加在任何地方。在片段中我以程序的方式改变一个textView它可以很好的运行。我的问题是当从布局中使用一个视图时,如何在片段下面的另外一个方法中用构造函数实现?

public class Timer_fragment extends android.support.v4.app.Fragment {    int testpins;    String testedpin;    TextView text;  @Overridepublic View onCreateView(LayoutInflater inflater ViewGroup container        Bundle savedInstanceState) {    View v = inflater.inflate(R.layout.timer_frag container false);    TextView text = (TextView) v.findViewById(R.id.pwd_status);    text.setText(""Setting text in fragment not main"");    /* set the TextView's text click listeners etc. */    updateStatus();    return v;}

所有这些代码都能很好的运行,但是当我添加下面这段代码时,

private void updateStatus() {            TextView text = (TextView) findViewById(R.id.pwd_status);            testPin();            text.setText(testedpin);                                 }

indViewById下面会出现红线说findViewById(int)方法不是Timer_fragment类型

解决方案

在你的代码段落中已经有一个成员变量text。不要在方法中重新声明这个成员变量只需分配它。

text = (TextView) v.findViewById(R.id.pwd_status);andprivate void upateStatus() {        testPin();        text.setText(testedpin);                             }

解决方案二:
传递Activity的一个实例到Timer_fragment:

private final Activity _activity; Timer_fragment(Activity activity) {     _activity = activity; } ... private void updateStatus() {     TextView text = (TextView) _activity.findViewById(R.id.pwd_status);     testPin();     text.setText(testedpin);                          }  
时间: 2024-10-28 04:25:42

android-程序片段后面添加方法的相关文章

在AndroidManifest.xml文件中设置Android程序的启动界面方法

  比如Android的Login程序和Android的Helloworld程序,但是却总不能正确运行一个正确的程序,郁闷了很久,终于在一次一次的测试后成功的在Android模拟器中运行了自建项目的程序.总结程序启动界面的设置经验如下: 在 MyEclipse建立的Android项目中,找到AndroidManifest.xml文件,双击打开. 设置程序运行后首先启动Login界面的AndroidManifest.xml文件代码如下: <?xml version="1.0" en

通过Health Center API向死锁检测应用程序添加方法分析视图

Health Center 是一款适用于 Java 的 IBM监视和诊断工具,是一个免费的低开销诊断工具和 API,用于监视在 IBM Java 虚拟机 (JVM) 上运行的应用程序.有关此 API 可以执行的操作的细节,请参阅 第 1 部分.在本文中,将会采用 第 1 部分中开发的死锁检测应用程序,并添加一个方法分析视图来显示应用程序的哪些地方花费了大部分的 CPU 周期.(请 参阅 下载,以便获得示例的完整源代码.) 系统要求 Health Center API bundle 至少需要安装

Android通过应用程序创建快捷方式的方法_Android

本文实例讲述了Android通过应用程序创建快捷方式的方法.分享给大家供大家参考.具体如下: Android 快捷方式是桌面最基本的组件.它用于直接启动某一应用程序的某个组件. 一般情况下,可以在Launcher的应用程序列表上,通过长按某一个应用程序的图标在左面上创建改该应用程序的快捷方式.另外,还可以通过两种方式在桌面上添加快捷方式: 一:在应用程序中创建一个Intent,然后以Broadcast的形式通知Launcher创建一个快捷方式. 二:为应用程序的组件注册某一个符合特定条件的Int

Android程序启动时出现黑屏问题的解决方法_Android

本文实例讲述了Android程序启动时出现黑屏问题的解决方法.分享给大家供大家参考,具体如下: 关于黑屏: 默认的情况下,程序启动时,会有一个黑屏的时期,原因是,首个activity会加载一些数据,比如初始化列表数据.向服务器发送请求获取数据等等. 去除方法: 1.在style里面添加一个style: <style name="ContentOverlay"parent="@android:style/Theme.Light"> <itemname

解决Android平台中应用程序OOM异常的方法_Android

在Android平台上面,应用程序OOM异常永远都是值得关注的问题.通常这一块也是程序这中的重点之一.这下我就如何解决OOM作一点简单的介绍. 首先,OOM就是内存溢出,即Out Of Memory.也就是说内存占有量超过了VM所分配的最大. 怎么解决OOM,通常OOM都发生在需要用到大量内存的情况下(创建或解析Bitmap,分配特大的数组等),在这样的一种情况下,就可能出现OOM,据我现在了解到,多数OOM都是因为Bitmap太大.所以,这里我就专门针对如何解决Bitmap的OOM.其实最核发

Android中获得正在运行的程序和系统服务的方法_Android

ActivityManager.RunningAppProcessInfo类与获取正在运行的应用程序每一个应用程序都会运行在它独立的进程里,但是为了节省资源或者这些应用程序是为了完成某一共同工作,它们 也可能会运行在一个进程里.  知识点介绍: ActivityManager.RunningAppProcessInfo类 说明: 封装了正在运行的进程信息 常用字段: int   pid    进程ID int   uid    进程所在的用户ID String   processName 进程名

Android实现为Tab添加Menu的方法_Android

本文实例讲述了Android实现为Tab添加Menu的方法.分享给大家供大家参考,具体如下: 在Android中,TabActivity类中没有与Menu有关的方法,所以如果单独使用TabActivity进行开发时,是无法创建菜单项的.为了给Tab增加菜单,有如下两种方法: 1. 主事件继承Activity.这样就可以在主事件中直接重写OnCreateOptionsMenu方法,为程序添加Menu.如果每个Tab需要有不同的Menu,可以为TabHost添加一个OnTabChangedListe

Android实现向Launcher添加快捷方式的方法_Android

本文实例讲述了Android实现向Launcher添加快捷方式的方法.分享给大家供大家参考.具体如下: 当我们在应用程序Launcher的桌面空白处长按触摸时,会出现一个对话框,提示选择要添加的桌面组件,如下图所示 选择快捷方式后,会弹出一个对话框,显示出了可添加快捷方式的Activity所属的应用程序的图标和名称的列表.当我们想把添加快捷方式的Activity添加到这一列表时,只需要在这个Activity注册时添加一个Action为android.intent.action.CREATE_SH

Android程序自动更新功能模块的实现方法【附完整demo源码下载】_Android

本文实例讲述了Android程序自动更新功能模块的实现方法.分享给大家供大家参考,具体如下: 在程序启动的时候检测服务器上有没有对应版本更新,如果有更新,提示用户是否更新. 在程序启动的时候首先调用更新模块检测服务器上存放的版本号跟当前程序的版本号如果大于当前版本号,弹出更新对话框,如果用户选择更新,则显示当前更新状态,然后替换当前程序. 程序调用版本更新检测: private UpdateManager updateMan; private ProgressDialog updateProgr