微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java-如何在主类中使用Fragment的Spinner事件?

下面名为Presenteter的代码是我的主要课程,我将根据问题替换Fragment.

public class Presenteter extends AppCompatActivity   {
    private final Questions question1Fragment = new Questions();
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.present);

FragmentTransaction ft=getSupportFragmentManager().beginTransaction();
        ft.setCustomAnimations(android.R.anim.fade_in,android.R.anim.fade_out);

         ft.replace(R.id.flPersonalization, question1Fragment);

        ft.commit();
}

这是我的问题课.它正在从REST服务器获取问题.所有问题都列在一个微调器中.我没有在这里写它们,以免混淆您.

public class Questions extends Fragment implements AdapterView.OnItemSelectedListener {
    SearchableSpinner spinner;

    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.question, container, false);
  LinearLayout ln=(LinearLayout)view.findViewById(R.id.listLayout);
          spinner=(SearchableSpinner)view.findViewById(R.id.spinner1);
}

最后,我想在Presenter类中使用Spinner的onItemSelected()事件.

我怎样才能做到这一点?
提前致谢.

解决方法:

您可以在片段中执行以下操作:

Presenteter p = (Presenteter) getActivity();

// ...

spinner.setonItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        p.yourMethod(); // call a method of your Presenteter class
    }

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

    }
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐