我有一个类称为“SplitText”并扩展了 AsyncTask。在那里我添加了一个动态文本视图:
TextView masterTV = new TextView(mActivity);
tv.setTag("masterTV");
...
masterTV.setText(Activity_Start.chapterContentList.get(0));
LinearLayout sv = (LinearLayout) mActivity.findViewById(R.id.linearlayout);
sv.removeAllViews();
sv.addView(masterTV);
这工作正常。
现在我想从另一个类调用 Activity_Start 中从这个 TextView 中获取文本,它扩展了 Activity..
在那里onOptionsItemSelected()
我有:
case R.id.menu_previous:
LinearLayout ll = (LinearLayout) findViewById(R.id.linearlayout);
TextView tv = (TextView) ll.findViewWithTag("masterTV");
Log.e("previs", tv.getText().toString());
return true;
但这总是返回一个NullPointerException
..
我做错了什么?
更新:
我找到了另一种获取 TextView 的方法:
LinearLayout ll = (LinearLayout) findViewById(R.id.linearlayout);
TextView tv = (TextView) ll.getChildAt(0);
这不是我想要的确切方式,但我跑步并做我想做的事。(如果您的 Textview 是 0 号孩子)