我是Android新手,但我还没有想到这个。
我有一个片段,可以在我的应用中多次重复使用。我需要在单击菜单项时识别哪个片段包含焦点视图,这样我就可以更新该片段中的EditText视图。我该如何做到这一点?
答案 0 :(得分:0)
在容器(父)活动中,您可以检查该片段是否为空:
MyFragment fragment = (MyFragment) getFragmentManager().findFragmentById(R.id.myfragment_id);
if(fragment != null)
{
//this fragment is used currently
}
或者你可以放一个变量,根据当前片段设置该变量。
答案 1 :(得分:0)
:
private TextView mFocusedText = null;
public void textViewGotFocus(TextView tv) {
if(tv != null) mFocusedText = tv;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(mFocusedText != null) mFocusedText.setText(item.getTitle());
}
在您的片段中,广告您选择的项目上的焦点监听器或倍数并调用
getActivity().textViewGotFocus(myFragmentTextView);
它没有经过测试,但它应该以这种方式工作
祝你好运