在 ViewSwitcher 中在不确定的 ProgressBar 和 Image 之间切换

Posted

技术标签:

【中文标题】在 ViewSwitcher 中在不确定的 ProgressBar 和 Image 之间切换【英文标题】:Switching between indeterminate ProgressBar and Image in ViewSwitcher 【发布时间】:2011-03-23 09:47:39 【问题描述】:

尝试使用 viewSwitcher 在 ProgressBar 和 Image 之间切换时收到以下错误:

07-30 18:08:00.627: ERROR/androidRuntime(307): Caused by: java.lang.NullPointerException
07-30 18:08:00.627: ERROR/AndroidRuntime(307):     at android.view.ViewGroup.addView(ViewGroup.java:1815)
07-30 18:08:00.627: ERROR/AndroidRuntime(307):     at android.view.ViewGroup.addView(ViewGroup.java:1802)
07-30 18:08:00.627: ERROR/AndroidRuntime(307):     at com.romcessed.romsearch.activities.RomDetailActivity$LoadImageViewsTask.intializeSwitchers(RomDetailActivity.java:161)

这是导致错误的代码:

//Place indeterminate progress bars for our ImageViews until computation is complete
switcherTask = new LoadImageViewsTask();
switcherTask.intializeSwitchers();
switcherTask.execute((Void) null);

.
..
...

void intializeSwitchers()
    captchaSwitcher = new ViewSwitcher(RomDetailActivity.this);
    gallerySwitcher = new ViewSwitcher(RomDetailActivity.this);

    /*Line that caused error */ 
    captchaSwitcher.addView((ProgressBar)findViewById(R.layout.indeter));
    /*                       */
    gallerySwitcher.addView(findViewById(R.layout.indeter));

    captchaSwitcher.addView(iv_Captcha);
    gallerySwitcher.addView(gal_Screenshots);

这里是indeter.xml:

<?xml version="1.0" encoding="utf-8"?>
    <ProgressBar
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/progressbar"
        android:layout_ 
        android:layout_ 
        android:layout_centerVertical="true" />

【问题讨论】:

【参考方案1】:

基本上你需要使用 Layout inflater 来为 view 充气,然后将其添加到 Switcher,或者你也可以从代码中创建一个新的 view。

请参阅此链接了解基本布局充气器功能:

http://androblip.huiges.nl/2010/05/14/add-a-view-to-a-wrapper-multiple-times-with-inflate/

【讨论】:

以上是关于在 ViewSwitcher 中在不确定的 ProgressBar 和 Image 之间切换的主要内容,如果未能解决你的问题,请参考以下文章

ViewSwitcher的功能与用法

无法加载类型 ASP.ViewSwitcher

android 动画ViewSwitcher

如何在同一个活动中使用 ViewFlipper(或)ViewSwitcher 和 TextSwitcher ..?

Android ViewSwitcher 的使用

UITableViewCell 无意中在不需要的行上放置了复选标记