1. 程式人生 > >viewpager獲取當前view報空指標的解決方法

viewpager獲取當前view報空指標的解決方法

因為需求,我需要獲得viewpager當前的view

於是我採用以下寫法

  1. View currentView = mViewPager.getChildAt(mViewPager.getCurrentItem());  

然後我拿這個view去做其他的事,但是滑動超過3個view後,再拿這個view的時候發現是null, mViewPager.getCurrentItem()超過2時就是null了, 這說明viewpager是三個view重複利用

那怎麼辦呢?

通過谷歌百度的幫助,果斷用findviewwithtag這個方法

在viewpager的listener裡的onPageSelected()這個方法裡為view設定tag

  1. itemview.setTag(currentID);  

然後用的時候就只需要根據tag來find出來就好了
  1. View currentView = mViewPager.findViewWithTag(mViewPager.getCurrentItem()  

參考文章:

相關推薦

viewpager獲取當前view指標解決方法

因為需求,我需要獲得viewpager當前的view 於是我採用以下寫法 View currentView = mViewPager.getChildAt(mViewPager.getCurrentItem());   然後我拿這個view去做其他的事,但是滑動

[android] viewpager獲取當前view指標解決方法

因為需求,我需要獲得viewpager當前的view 於是我採用以下寫法 View currentView = mViewPager.getChildAt(mViewPager.getCurrentItem()); 然後我拿這個view去做其他的事,但是滑動超過3個vie

butterknife繫結後使用view還是會指標解決辦法

butterknife的正確用法 遇到問題:用butterknife註解繫結控制元件,在ButterKnife.bind(this)之後使用view的時候仍然報空指標,我按照如下設定解決了問題; 1、在專案下的build.gradle中的dependen

自建工具類引用service層或dao層介面指標異常解決辦法之一

問題描述:想要建一個工具類進行資料同步,其中要用到service層或dao層的資料查詢介面,正常構建工具類,用@Autowired註解匯入service層。在專案測試時報空指標異常,發現是service層介面注入失敗。 解決方法:將你的工具類變成spring容器:1.將

在主佈局通過findViewById(view)獲取NavigationView中的view

<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"

abp 使用OAuthBearerAuthenticationOptions物件裡屬性AccessTokenFormat對應的Protect方法指標異常解決方法

由於要自己要在自定義的service類定義一個和登陸相關的介面,所有需要模仿api下面的AccountController登陸並返回ticket,但是對應的AccessTokenFormat老是報空指標異常,下面說說我做的步驟以及解決方法。   abp原有Api解決方案下面的使用程

例項化JFileChooser物件指標異常問題的解決辦法

極少部分人運氣不好可能遇到這樣一個問題。只要例項化JFileChooser物件就會報空指標異常; 就這一行程式碼出錯說明不是程式碼的問題,應該是JDK或者電腦許可權的問題。 這個小編能力有限,修復不了這個問題,但有另外的方法代替JFileChooser

stmt=conn.createStatement()指標錯誤——已解決

連線資料庫 時, stmt=conn.createStatement() 報空指標錯誤 java.lang.NullPointerException 原因是: conn=connDB.getConne

Android中findViewById()獲取控制元件後 指標 錯誤

今天再做一個程式時,發現我使用findViewById(R.id.edit)獲取EditText時總是報空指標錯誤,我想不可能啊!! 最後從findViewById()下手,才發現原來此方法中的R.id.edit是從當前Activity或者Dialog的主佈局檔案xml中獲

Mybatis查詢,查詢一個欄位的時候,沒有值,並且返回null,指標解決方法

select IFNULL (MAX(custid), 0) AS custId from user_work_enroll_cust where phone=#{phone}MYsql這裡我們使用IFNULL函式處理即可其他資料在SQLSERVER中我們可以這樣寫:sele

獲取資原始檔,res目錄下的資源時,id指標

在Android開發過程中,我們經常會有這種需求,需要將自己開發一個類庫打包成jar包以供他人(其他人一般指開發者)呼叫,而不是直接打包apk檔案供終端使用者使用。在打包成jar後,你往往會自己先測試一下看jar包能不能直接使用,這時就會常常有如下的幾個問題: 1) E

使用butterknife bind之後依然執行指標問題解決方法

butterknife8.0之後才有apt方式,配置方法如下: 在專案的gradle檔案的dependencies中增加 dependencies { classpath 'com.

ViewPager獲取當前顯示頁面的View

在viewpager的adapter裡面有一個方法可以獲取到當前的view,如下: 1 2 3 4 5 6 7 8 9 10 private View mCurrentView; @Override public void setPrimaryItem(Vie

自定義view中bitmap.getwidth()方法指標

自定義view 的時候,在構造方法中初始化bitmap,一直報null。經過修改圖片獲取放在onDraw中,正常,原因未知。程式碼如下:@Override protected void onDraw(Canvas canvas) { super.onDraw(canv

ViewPager獲取當前item的View

關於ViewPager 在使用過程中,獲取當前view出現崩潰的bug修改方案: 1.造成崩潰的原因1).view和viewpager是雙向關聯的2).通過getChildAt()方法獲取view的時候,獲取到的view是null,原因是:但是滑動超過3個view後,再拿這個view的時候發現是null, m

對 request.getParameter("引數名字") 獲取的值判指標異常

對   request.getParameter("引數名字") 獲取的值判空報空指標異常 比如 String  str=request.getParameter("引數名字"); str.equal(""); 執行報錯,空指標異常 因為此時 request.ge

Android 解決Handler在執行時載入指標異常

1.可自定義一個這樣的WeakReferenceHandler public class WeakReferenceHandler<T> extends Handler { pr

關於fastjson混淆打包後javaBean指標異常的解決方案

專案在debug環境下執行沒有問題,在混淆打包之後卻發現了閃退,無奈只能開啟Log日誌列印毛病~ 程式列印空指標異常,定位到空指標異常的地方~ 問題直指javaBean,於是我檢查了我參考網上關於fastjson混淆的方法如下圖  感覺沒毛病啊~但是就是異常了~

使用MyBatis查詢 返回類型為int,但是當查詢結果為NULL,異常的解決方法

ati bin turn apache led .get urn bsp process 使用MyBatis查詢 返回類型為int,但是當查詢結果為空NULL,會報異常。 例如: <select id="getPersonRecordId" parameterT

【轉】PHP date("Y-m-d H:i:s");獲取當前時間 差8小時解決辦法

class etc AS 北京 shang 時間 字母 重啟 asi 原因: 網絡資源