【问题标题】:Android : (Parent Activity) Getting the EditText value from (Child Fragment) resulted an NPE [duplicate]Android:(父活动)从(子片段)获取 EditText 值导致 NPE [重复]
【发布时间】:2019-11-28 06:33:19
【问题描述】:

我被 NPE 困住了。

我正在尝试从子片段访问/获取 Edittext 的值,不幸的是它返回了 NPE。

这是子片段(MoincomeexpFragment)

public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        view = inflater.inflate(R.layout.fragment_moincomeexp, container, false);

appSalary = view.findViewById(R.id.appSalary_edit_text);

return view;
    }

这是针对父活动的:

String AppSalary;

AppSalary = MoincomeexpFragment.appSalary.getText().toString()

【问题讨论】:

标签: android


【解决方案1】:

将此代码放入您的父活动中。

EditText appSalary = findViewById(R.id.appSalary_edit_text);
String appSalaryText = appSalary.getText().toString()

【讨论】:

    【解决方案2】:

    创建单例类

    公共类当前值{

    私有字符串名称;

    public static Currentvalue getInstance() {
        return new Currentvalue();
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public String getName() {
        return name;
    }
    

    }

    在片段中-----

    当前值.getInstance().setName(appSalary.getText().toString)

    活动中--------

    当前值当前值;

    在创建()上

    currentvalue = Currentvalue.getInstance();

    字符串名称=当前值.getName();

    【讨论】:

    • 这是一种反模式,不是定义单例的正确方法。不妨使用 SharedPreferences
    • 你怎么能说这是一个反模式,先生 cricket_007 这并不是你回答的问题,请再次阅读 mr cricket_007 “(家长活动)获取 EditText 值(子片段)导致 NPE "
    • 这不是“我的问题”。一般来说,Android 中的单例应该避免使用 sqlite、SharedPreferences 和其他原生持久化特性
    猜你喜欢
    • 2017-04-01
    • 2019-06-27
    • 1970-01-01
    • 1970-01-01
    • 2020-07-11
    • 2020-10-05
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    相关资源
    最近更新 更多