gpt4 book ai didi

java - 如何将 Android Activity 转换为界面?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:41:33 25 4
gpt4 key购买 nike

在此处的 Android 文档中:http://developer.android.com/guide/components/fragments.html fragment 实现接口(interface)。

在 onAttach() 回调中,它似乎将当前 Activity 转换为接口(interface)。从概念上讲,这怎么可能,并且是 vanilla Java 中相同类型的转换标准实践?

public static class FragmentA extends ListFragment {


// Container Activity must implement this interface
public interface OnArticleSelectedListener {
public void onArticleSelected(Uri articleUri);


OnArticleSelectedListener mListener;



@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mListener = (OnArticleSelectedListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString() + " must implement OnArticleSelectedListener");
}
}
...
}

最佳答案

关于该主题的一些基本知识:

接口(interface) 视为一组函数。如果一个 class 实现了一个 interface,那么它保证它实现了所有的接口(interface)功能。

在你的情况下:

如果您有一个对象,并且您只需要对象实现的接口(interface)的功能,那么您可以将该对象处理(并强制转换)到该接口(interface)。这样你就失去了关于你的对象的“信息”,因为你将无法使用它的功能(接口(interface)功能除外),但有时它就足够了。

关于java - 如何将 Android Activity 转换为界面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12204299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com