丢失对分配视图的引用

时间:2015-01-30 20:35:49

标签: android view reference dialog android-preferences

所以我正在扩展ListPreference以达到我需要的效果。

我想在我的对话框中有一个titleView,一个messageView,然后是listView。

我重写了onCreateDialogView()方法以便执行此操作,并且能够通过创建textview并使用以下代码将其添加到视图中来成功显示messageView:

@Override
protected View onCreateDialogView() {
    LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    ListView lv = (ListView) inflater.inflate(R.layout.dialog_layout, null);

    _messageView= (TextView) inflater.inflate(R.layout.dialog_header, null);
    _messageView.setText("Hello World");
    lv.addHeaderView(_messageView);

    ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(getContext(), R.layout.dialog_list_choice, getEntries());
    lv.setAdapter(adapter);

    return lv;
}

现在,当我为创建的TextView分配变量_messageView并设置文本时,它可以正常工作。 但是,当我单击首选项时,我希望对话框的messageView文本更改。 我使用以下代码执行此操作:

public void showWithCode(String code){
    if (_messageView != null) {
        _messageView.setText(code);
    }

    showDialog(null);
}

对话框显示,但_messageView始终为空,所以我的消息无法反映我的行为!

所以我的问题是,我之前如何分配它,但是当我需要它时它是空的?

0 个答案:

没有答案