0

我有一个活动从另一个活动的数据库中获取一个可序列化的对象。该对象包含一个返回字符串的函数 getName()。

我想将该字符串设置为片段中包含的编辑文本的文本。无论我做什么,它都不起作用。有什么帮助吗?

Form.java 活动 - 托管片段,此函数尝试使用“Patient”对象编辑片段。我确信该活动已收到该对象,因为它显示在 LogCat 中。

public void Populate(Patient patient) {
        Frag1 fragment = 
                  (Frag1) getSupportFragmentManager().findFragmentByTag(
                               "android:switcher:"+R.id.pager+":0");
              if(fragment != null)
              {
                 if(fragment.getView() != null) 
                 {
                    fragment.setName(patient.getName());
                    fragment.getView().invalidate();
                    Log.d(patient.getName(), "supbrah"); // doesn't return anything :(
                 }
              }
    }

Frag1.java - 片段的代码

public class Frag1 extends Fragment {

    EditText name;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
            Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.activity_form, container, false);

        name = (EditText) v.findViewById(R.id.name_edit);

        return v;
    }

    public String getName() {
        String patient = name.getText().toString();
        return patient;
    }

    public void setName(String text) {
        name.setText(text);
    }

}

提前致谢!

4

0 回答 0