Android:从Activity访问片段TextView

时间:2014-11-01 08:24:19

标签: android fragment

我想在我的活动中访问片段TextView,因为我需要从活动中更改它。但是它返回nullpointerexception。如果我将片段textview放在spinner onItemSelected侦听器的引用中,它就可以工作。这里有一些代码可以解释。这个工作

 spinnerOblasti.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {

                TextView[] vystrahy = new TextView[1];
                vystrahy[0] = (TextView) findViewById(R.id.txtVystrahy);

                vystrahyListener = new htmlParserListener(vystrahy);
                (new htmlParser(0, vystrahyListener) ).execute();

                TextView[] podmienky = new TextView[6];
                podmienky[0] = (TextView) findViewById(R.id.txtPodmienkySkala);
                podmienky[1] = (TextView) findViewById(R.id.txtPodmienkyLad);
                podmienky[2] = (TextView) findViewById(R.id.txtPodmienkyMix);
                podmienky[3] = (TextView) findViewById(R.id.txtPodmienkyLyze);
                podmienky[4] = (TextView) findViewById(R.id.txtPodmienkyTuristika);
                podmienky[5] = (TextView) findViewById(R.id.txtPodmienkyKomentar);

                podmienkyListener = new htmlParserListener(podmienky);
                (new htmlParser(1, podmienkyListener) ).execute();
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });

但是我需要它在onItemSelected侦听器之外工作。那么有没有办法从Activitiy访问片段TextView?

先谢谢

2 个答案:

答案 0 :(得分:1)

我使用 Framgnet Callbacks 解决了这个问题,如http://developer.android.com/training/basics/fragments/communicating.html所述。我相信这是最好的方法是在创建片段后将TextViews传递给我的活动。

答案 1 :(得分:0)

如@Seshu Vinay所说
在片段中创建一个吸气剂。

public String getEditText()
{
    String strEditText = mEditText.getText().toString();
    return strEditText;
}

然后从活动中调用此吸气剂。

fragment.getEditText();