我在以下示例中简化了问题.我知道我只能将数据传递给类,但我确实想传递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控件从活动传递到类所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)