我想在我的活动中访问片段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?
先谢谢
答案 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();