替换不推荐使用的BrowseFragment AndroidTV

时间:2019-12-08 05:00:59

标签: androidx android-tv leanback

该类已在API级别27.1.0中弃用。 使用BrowseSupportFragment

但是当我更换了它

public class MainFragment extends BrowseSupportFragment

<?xml version="1.0" encoding="utf-8"?>
  <fragment xmlns:android="http://schemas.android.com/apk/res/android"
  android:name="com.example.tvapplocation1.MainFragment"
  android:layout_width="match_parent" android:layout_height="match_parent">
</fragment>

发生波纹管异常

  

由以下原因引起:android.app.Fragment $ InstantiationException:试图实例化不是Fragment的类MainFragment

我的XML代码是

<FontAwesomeIcon id={yourIdGoesHere} icon={faEdit}  onClick={this.editItem} />

...

editItem = event => {
  let idOfClickedIcon = event.currentTarget.id
  ...do something with the item associated with the id
}

1 个答案:

答案 0 :(得分:0)

简短的回答:如果您的“活动”未从FragmentActivity扩展,则可能会发生这种情况。

更长的答案:Fragment类有两种版本,一种内置在操作系统中,另一种是support / Android X库()的一部分。您应该始终使用support / Android X版本,因为它提供了跨Android OS版本的兼容性和一致的行为。各种* SupportFragment类(例如BrowseSupportFragment)是从Fragment的support / Android X版本扩展而来的,这要求您使用support / Android X库中的FragmentActivity。