1. 程式人生 > >Error:(26, 117) 錯誤: 不相容的型別: Fragment無法轉換為NewsContentFragment 解決方法

Error:(26, 117) 錯誤: 不相容的型別: Fragment無法轉換為NewsContentFragment 解決方法


這裡寫圖片描述
圖3
剛開始以為程式碼哪裡寫錯了,對著書本仔細檢查了好多遍,還是沒找出哪裡出錯了。回過頭來再看錯誤提示資訊,說是型別轉換錯誤,更是摸不到頭腦,自己明明是繼承了Fragment類,怎麼會出錯。突然想起來書中好像有說繼承Fragment類有兩種方式,會不會在這出了問題。果然是這樣。當繼承Fragment時,會有兩個不同包下的Fragment供我們選擇, 一個是系統內建的android.app.Fragment,一個是support-v4庫中的android.support.v4.app.Fragment,但是建議使用後者,因為它可以讓碎片在所有Android系統版本中保持功能一致性。我們並不需要在build.gradle檔案中新增support-v4庫依賴,因為build.gradle檔案中已經新增appcompat-v7庫的依賴,而這個庫會將support-v4庫也一起引入進來。
我程式中Fragment是繼承自android.app.Fragment的,在下面的語句中我使用了getSupportFragmentManager()這個方法,
NewsContentFragment newsContentFragment = (NewsContentFragment) getSupportFragmentManager().findFragmentById(R.id.news_content_fragment);
顯然這個方法是對應android.support.v4.app.Fragment包的,不出錯才怪。
終上所述,有兩個方法可以解決這個問題:
1、將圖3程式碼中getSupportFragmentManager()方法改為android.app.Fragment對應的getFragmentManager()
2、將圖2程式碼頂部的import android.app.Fragment改為import android.support.v4.app.Fragment
強烈建議採用第二種方法來保證程式的相容性。

相關推薦

Error:(26, 117) 錯誤: 相容型別: Fragment無法轉換NewsContentFragment 解決方法

圖3 剛開始以為程式碼哪裡寫錯了,對著書本仔細檢查了好多遍,還是沒找出哪裡出錯了。回過

如何解決此Flash Player與您的地區相容,請重新安裝Flash的解決方法

flash被國內2144代理以後,如果不從代理那裝,最近更新會一直提示‘此Flash Player 與您的地區不相容,請重新安裝Flash’。 然後今天把解決方案總結一下。 環境: 電腦系統:windows10 64位 瀏覽器:Chrome (如果是32位

maven error提示: 相容型別: java.lang.Object無法轉換T

使用Maven install打包程式,但是提示error: 不相容的型別: java.lang.Object無法轉換為T。 看了下是這段程式碼: public <T> T getMapper(Class cls) throws Exception {

C++三角函式用法錯誤error C2668: 'tan' : ambiguous call to overloaded function原因及解決方法

注意tan、atan等三角函式不能接受整數,如:tan(1)會報錯“error C2668: 'tan' : ambiguous call to overloaded function” ,改為浮點型即可正確計算。 1、錯誤程式碼如下: #include <iostream>

【Spring MVC】 錯誤: 找到或無法載入主類 解決方法

【Spring MVC】 錯誤: 找不到或無法載入主類 解決方法   最近在學習Spring,在學習SpringMVC過程中,將web.xml、Dispatcher-servlet.xml、applicationContext.xml等配置完成之後,卻不懂如何部署專案到to

Error:System.Data.SqlClient.SqlException: 在與 SQL Server 建立連線時出現與網路相關的或特定於例項的錯誤,請檢查遠端連線是否開啟。解決方法

  Error資訊: System.Data.SqlClient.SqlException: 在與 SQL Server 建立連線時出現與網路相關的或特定於例項的錯誤。未找到或無法訪問伺服器。請驗證例項名稱是否正確並且 SQL Server 已配置為允許遠端連線  (pr

提示“此Flash Player與您的地區相容,請重新安裝Flash”的解決辦法

問題原因: 因為Flash相對於HTML5,有著運算效率低、資源佔用大、安全性不高等缺點,隨著HTML5越來越普及,Adobe已宣佈2020年正式停止支援Flash這項技術。 但Adobe公司為了利益最大化,從Flash Player 30開始,就與國內某公司合作,推出中

解決 | 此資料庫檔案跟當前sql server例項相容 & sql server2008無法連線到(local)

最近在搞ASP.NET,因實驗室VS版本跟PC不一樣可能,拷回來一開啟就這樣子: 眉頭一皺的我開啟我的古董SQL,自從用了MySQL就沒碰它了我的鍋。。。果

瀏覽器看視訊提示“此Flash Player與您的地區相容,請重新安裝Flash”的解決辦法

首先宣告解決辦法來源於百度,下面是具體操作: 1.下載Flash Player 29.0.0.140 Flash Player 29.0.0.140下載地址: 連結: https://pan.baidu.com/s/1PRRBU3LpzSXg3ufnuhFyXw 密碼:

jQuery $.post()返回型別json時進入回撥函式的原因及解決方法

$.post()格式如下: $.post(url,data,success(data, textStatus, jqXHR),dataType) 引數描述 url 必需。規定把請求傳送到哪個 URL。 data    可選。對映或字串值。基本是json格式。 s

ios中safari相容JavaScript中Date轉化時間戳的問題

在做移動端時間轉化為時間戳時,遇到了一個問題,安卓手機上訪問時,能拿到時間戳,從而正確轉換時間,而在ios上缺不能正常顯示,顯示的時間為:NaN-NaN1-NaN  Invalid Date,搗鼓了好久,也在網上查了很多關於JavaScript中時間轉時間戳的方法,都沒解決

C++編譯出現 error C2664: 能將引數 2 從“const char [5]”轉換“LPCTSTR”解決辦法。

原因:編譯程式的時候出現這樣的錯誤,原因是在新建MFC專案的時候,設定字符集Unicode的屬性 解決方法一: 在VS的解決方案管理器視窗內,右擊你的專案“專案”,然後選“屬性”(最後一項),再點“配

Eclipse 錯誤: 找到或無法載入主類 解決方法

JAVA_HOME、Path、CLASSPATH都配置正確的情況下, Eclipse任出現    “錯誤: 找不到或無法載入主類” 解決方法:         不妨嘗試新建一個workSpace2,以該workSpace開啟,執行程式,則不再出現“錯誤: 找不到或無法載入

能訪問 windows2008發布的網站 解決方法

無法 右鍵 商品 get 幫助 ont 方法 bsp -c 在windows2008發布的網站,經常會遇到網站無法訪問的情況,當問及客服時,經常會告知,操作系統默認不打開80端口,請先確定80是否打開並確定沒有被占用。那麽,我們該如何打開80端口呢?

IE7、IE8兼容js trim函數的解決方法

擴展 員工 對象 var this clas pan 1-1 string IE兼容,有時候讓人頭疼,但又不得不去解決。 先看看一下代碼: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xht

CentOS 7.2最小安裝後能使用ifconfig,netstat等命令解決方法

centos 7 ifconfigCentOS 7.2最小安裝後不能使用ifconfig,netstat等命令是因為默認沒有安裝net-tools包,安裝好CentOS 7.2後連接網絡,通過默認的yum源可以安裝net-tools包,就可以使用上述命令了。root@Slave02 ~]# ifconfig

spring AOP使用中Error creating bean with name ‘…’defined in class path resource..問題及其解決方法

factory fail 正常 ins aspect 工作內容 thread def before spring AOP使用中Error creating bean with name ‘…’defined in class path resource..問題及其解決方法

檢測到在集成的托管管道模式下適用的ASP.NET設置的解決方法(轉載)

blank span 轉載 sdn 是我 module error conf str 我們將ASP.NET程序從IIS6移植到IIS7,可能運行提示以下錯誤: HTTP 錯誤 500.23 - Internal Server Error 檢測到在集成的托管管道模式下不適

Python編譯出現錯誤SyntaxError: Non-ASCII character 'xe7' 時解決方法

mage wan tps png art tail error: itl 解決 轉載個解決辦法:https://blog.csdn.net/wangchao701123/article/details/57084244 轉自https://blog.csdn.net/jim

ubuntu下 mysql安裝以後無法登陸的的解決方法((ERROR 1698 (28000): Access denied for user 'root'@'localhost'))

sta mysql安裝 nat where 數據 move sel 方法 client 1. 刪除mysql sudo apt-get autoremove --purge mysql-server-5.0 sudo apt-get remove