2 znl 12 znl_12 于 2012.10.17 10:28 提问

程序片段后面添加方法

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

public class Timer_fragment extends android.support.v4.app.Fragment {
    int testpins;
    String testedpin;
    TextView text;  
@Override
public 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类型

2个回答

myq_26
myq_26   2012.10.17 11:25
已采纳

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

text = (TextView) v.findViewById(R.id.pwd_status);
and

private void upateStatus() {
        testPin();
        text.setText(testedpin);                         
    }
yongyong_21
yongyong_21   2012.10.23 17:19

传递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);                          
}  
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
javascript/js 原生动态插入外部js文件及动态插入js代码片段,兼容ie
动态创建js脚本有两种方式: 1.插入外部js文件 2.插入js代码片段 动态插入js外部文件的方法:function loadScript(url){ var script = document.createElement('script'); script.type = 'text/javascript';
概要:Unity Cg 编程(关于顶点与片段着色器)
本文永久地址:http://www.omuying.com/article/83.aspx,【文章转载请注明出处!】 原文链接:http://en.wikibooks.org/wiki/Cg_Programming/Unity 在 Unity 游戏引擎中编写 Cg 程序要比在 OpenGL 或 Direct3D 应用中编写 Cg 程序容易,因为导入的网格和图像(即纹理)有图形用户界面支
eclipse 中 如何根据自己定义的 key 插入 相应的代码段
编辑方法 window >> Perferences >> Java >> Editor >> Templates >> New.. name(此处就是要保证唯一的KEY):填sop pattern:填 System.out.println("Hello World!"); 其它的全默认。确定。 这时你就可以去java类中打 sop 然后Alt+/  就会自动带出 S
拼接html片段的快捷方式
之前一直用 "" + "" 这种方式来拼接一个很长的字符串 或者 HTML 代码, 太累了. 那有没有什么好的方法了, 起码敲起代码起来不会感觉到厌烦, 于是我总结了2种比较舒服的方法, 望大家采纳. 第一种方法: 采用数组的方式. 最后利用join('')连接起来. 直接上代码. Js script> var lang = { u
比较常用的C++程序代码片段
#include using namespace std; static void pause( void ) { system( "pause" ); return; } int main() { unsigned int mywidth = 4; unsigned int mybits = 12; while(!(mywidth &(1umybits -1)))) {
JSP脚本表达式
二:JSP脚本表达式 JSP脚本表达式(expression)用于将程序数据输出到客户端    语法:= 变量或表达式 %>    举例:当前时间: JSP引擎在翻译脚本表达式时,会将程序数据转成字符串,然后在相应位置用out.print(…) 将数据输给客户端。   JSP脚本表达式中的变量或表达式后面不能有分号(;)。 因为在翻译后它是这样显示的out.print
jsp页面中插入jsp代码片段
在实际应用中会遇到同一段jsp代码在多个jsp页面中重复使用,这样本着省事和简化的思想就可以把相同的代码单独放在一个jsp中,并在使用到这段代码的jsp页面中引用即可。例如:导航栏、css的引用、js的引用…下面是我的工程下jsp的目录结构 nav.jsp存放导航栏的信息,通过测试发现如果值引用一个的话,里边的中文会出现乱码,于是就新建了一个jsp模板,把没用的东西删去只保留自己的导航栏用到的信息
jquery加载HTML片段
一直以来群里里面很多人反应,在用tab加载界面的时候,界面里面的js不会执行。今天GodSon在此说明一下原因。 不管是window,dailog还是tab其实质最终都是继承了panel。panel有两种方式展示内容。第一是直接硬编码写到出来。第二是通过href属性,加载外部html片段。在这里就就设计到了一个html片段的概念。这个概念在easyui的整体架构中,是一个很重要的概念,因为很
使用jquery实现动态加载片段
之前分享一篇直接操作dom元素,使用create方法动态增加片段,这里分享一篇直接使用jquery的方式加载: 我们把方法实现和片段显示放在两个文件中,这里是展示图片片段的function,我们写在my.js中 function showImages(elementId, num) { var listHtml = ''; $(elementId).append(listH
JS 文档碎片 添加元素
<br />过JS 操作DOM节点可能以节点为单位进行,比如添加节点,可以createElement,createTextNode,然后用appendChild把文本节点和容器节点绑定在一起,然后再用appendChild或insertBefor添加到DOM树中.但如果要往DOM树中动态添加大量的节点.就会很麻烦.<br />例如:<br />var arrText = ["one","two","three","four","five","six","seven","eight","nine","te