android – 将UI控件从活动传递到类

android – 将UI控件从活动传递到类,第1张

概述我多次坚持这个问题而且我以不同的方式解决了这个问题,我不确定我是以正确的方式做到的. 我在以下示例中简化了问题.我知道我只能将数据传递给类,但我确实想传递editText,因为我遇到了更困难的UI控件的问题. mainactivity.java public class mainactivity extends Activity { public EditText clickEditTe 我多次坚持这个问题而且我以不同的方式解决了这个问题,我不确定我是以正确的方式做到的.
我在以下示例中简化了问题.我知道我只能将数据传递给类,但我确实想传递editText,因为我遇到了更困难的UI控件的问题.

mainactivity.java

public class mainactivity extends Activity {    public EditText clickEditText;    int count =0;    @OverrIDe    public voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.main);        newTxt();    }    public voID newTxt() {        txt = new MyText(context);        txt.updateTextEdit("Main Activity");    }}

myText.java

public class MyText{    private Context _context;    // constructor    public MyText(Context context)     {        _context = context;    }    public voID updateTextEdit(String str)    {        private EditText strEditText;        strEditText= (EditText)findVIEwByID(_context.R.ID.editTextClick); // ????        strEditText.setText(str + " and myTxt");    }}

如果你能解释我如何修复updateTextEdit函数.我通过了主要活动的背景.如何更改editText?非常感谢你!!!

解决方法 如果您真的想以这种方式执行此 *** 作,则需要保存对Activity的引用,而不是Context.像这样:

public class MyText{    private Activity _activity;    // constructor    public MyText(Activity activity)     {        _activity= activity;    }    public voID updateTextEdit(String str)    {        private EditText strEditText;        strEditText= (EditText)activity.findVIEwByID(R.ID.editTextClick);        strEditText.setText(str + " and myTxt");    }}

在newTxt()中你需要改变:

txt = new MyText(context);

至:

txt = new MyText(this);

但是,将此方法放入您的活动中会不会更容易?你为什么要在另一堂课?如果它确实需要在另一个类中,您可以使该类成为您的活动的内部类,并且您仍然可以访问活动的方法和成员变量.

总结

以上是内存溢出为你收集整理的android – 将UI控件从活动传递到类全部内容,希望文章能够帮你解决android – 将UI控件从活动传递到类所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存