Android:如何确定具有焦点的视图所在的片段

时间:2012-02-28 21:12:03

标签: android

我是Android新手,但我还没有想到这个。

我有一个片段,可以在我的应用中多次重复使用。我需要在单击菜单项时识别哪个片段包含焦点视图,这样我就可以更新该片段中的EditText视图。我该如何做到这一点?

2 个答案:

答案 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);

它没有经过测试,但它应该以这种方式工作

祝你好运