首页 > 解决方案 > 你能从 Android 的一个类内部传递一个类的实例吗?

问题描述

我正在实现一个片段,并且在编辑文本时(使用 TextWatcher),我正在使用接口将数据传递给父活动。

我想知道是否可以将类本身的实例作为传递给活动的数据传递?这样我就不必一次传输每个字符串字段一个参数。

我也可以;

活动:

Fragment frag = new FragmentClass();
// ... start the fragment

FragmentClass.java 中的:

editText = findViewById(R.id.edittext);
editText.addTextChangedListener(new TextWatcher() {
    ...
    public void afterTextChanged(...) {
    listener.onChangedListener(PASS IN THE INSTANCE OF THE CLASS ITSELF???);
    }
});

这是为了避免需要这样做:

listener.onChangedListener(String field1, String field2, String field3, etc..);

标签: javaandroidandroid-studio

解决方案


您可以从片段访问父活动的公共属性。不确定这是否是您想要完成的。你可以试试这个。

活动中

public String myText;

在片段中

YourActivity parentActivity;
parentActivity = (YourActivity)getActivity(); 

//access the string property of your activity or do something else. Ex. parentActivity.myText = "Sample text" 

这只是我能记住的代码草稿,因为我现在不在 IDE 上。


推荐阅读