[android] viewpager獲取當前view報空指標的解決方法
因為需求,我需要獲得viewpager當前的view
於是我採用以下寫法
View currentView = mViewPager.getChildAt(mViewPager.getCurrentItem());
然後我拿這個view去做其他的事,但是滑動超過3個view後,再拿這個view的時候發現是null, mViewPager.getCurrentItem()超過2時就是null了, 這說明viewpager是三個view重複利用
那怎麼辦呢?
通過谷歌百度的幫助,果斷用findviewwithtag這個方法
在viewpager的listener裡的onPageSelected()這個方法裡為view設定tag
itemview.setTag(currentID);
然後用的時候就只需要根據tag來find出來就好了
View currentView = mViewPager.findViewWithTag(mViewPager.getCurrentItem()
參考文章:
相關推薦
[android] viewpager獲取當前view報空指標的解決方法
因為需求,我需要獲得viewpager當前的view 於是我採用以下寫法 View currentView = mViewPager.getChildAt(mViewPager.getCurrentItem()); 然後我拿這個view去做其他的事,但是滑動超過3個vie
viewpager獲取當前view報空指標的解決方法
因為需求,我需要獲得viewpager當前的view 於是我採用以下寫法 View currentView = mViewPager.getChildAt(mViewPager.getCurrentItem()); 然後我拿這個view去做其他的事,但是滑動
Android中findViewById()獲取控制元件後 報 空指標 錯誤
今天再做一個程式時,發現我使用findViewById(R.id.edit)獲取EditText時總是報空指標錯誤,我想不可能啊!! 最後從findViewById()下手,才發現原來此方法中的R.id.edit是從當前Activity或者Dialog的主佈局檔案xml中獲
android studio 使用butterknife 報空指標 異常
使用butterKnife 時,報錯。 在使用butterknife 8.0以上的版本是,出現空指標錯誤,記錄如下: 錯誤使用: 在寫一個Demo 的時候使用了ButterKnife ,是直接從android studio 上面下載匯入的 jar 包
在主佈局通過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"
獲取資原始檔,res目錄下的資源時,id報空指標
在Android開發過程中,我們經常會有這種需求,需要將自己開發一個類庫打包成jar包以供他人(其他人一般指開發者)呼叫,而不是直接打包apk檔案供終端使用者使用。在打包成jar後,你往往會自己先測試一下看jar包能不能直接使用,這時就會常常有如下的幾個問題: 1) E
butterknife繫結後使用view還是會報空指標的解決辦法
butterknife的正確用法 遇到問題:用butterknife註解繫結控制元件,在ButterKnife.bind(this)之後使用view的時候仍然報空指標,我按照如下設定解決了問題; 1、在專案下的build.gradle中的dependen
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
Android GPS獲取當前經緯度座標
APP中可能會遇到一種需求,就是將當前所在位置的座標傳到伺服器上,今天我提供三種途徑去獲取經緯度座標資訊,第一種是通過Android API來實現,第二種通過百度地圖API來實現,第三種通過天地圖API來實現。 第一種方法(Android API實現),廢話不多說,上程式碼。 MainAct
ListView優化時,控制元件行,報空指標。
FATAL EXCEPTION: main &n
String.length()>1 報空指標異常
@Override public ExpertEntity getExpertById(Long id) { ExpertEntity Expert = ExpertMapper.getObjectById(id); if (Expert.getFilepath().length()>
為什麼simpleDateFormat.format(null)會報空指標異常
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); sdf.format(null); 在第二行會報空指標異常,為什麼呢? 我們進入原始碼看一下就知道了。 第一步 public final Stri
【轉】MVC中Controller獲取當前View的URL
ASP.NET通用: 【1】獲取完整url (協議名+域名+虛擬目錄名+檔名+引數) string url=Request.Url.ToString(); 【2】獲取 虛擬目錄名+頁面名+引數: string url=Request.RawUrl; (或
android VideoView 獲取當前播放時間、獲取視訊長度。
播放視訊檔案其實並不比播放音訊檔案複雜,主要是使用 VideoView類來實現的。這個類將視訊的顯示和控制集於一身,使得我們僅僅藉助它就可以完成一個簡易的視訊播放器。 最近在做視訊,遇到這麼個需求,播放視訊中途退出時候記錄當前播放的時間,播放視訊,最簡單的就是VideoVi
java碎片整理之Boolean變數和null的運算報空指標異常
把Boolean變數的初始為null,在與其他Boolean變數運算時,有以下情況: 1、||運算時,如果Boolean變數值為true並且在左邊,變數值為null型別的在右邊,編譯不會報錯,執行時不會報空指標異常,會輸出左邊的Boolean變數值true,如果Boolean變數值
springboot專案下,service層注入其他service時,沒有新增@Autowired,專案中不報錯,就是報空指標
這個問題讓我折騰了快一天,因為這個方法是個通用方法,在別的service都能執行成功,就是在此service下執行不成功, 無意間發現了@autowired註解沒有加,協同開發不知道誰不小心刪除了吧。但是springboot也不報錯, try...catch後總是報空指