0

我在 Java 环境中很菜鸟,很可能我在这里错过了一些非常重要的事情,但无论如何这是我的代码:

这是我在 XML 中创建的对象:

<ImageView
    android:id="@+id/splash_screen"
    android:src="@drawable/my_image"
    android:layout_height="match_parent"
    android:layout_width="match_parent"/>

这是假设触发该功能的javascript代码:

function hideSplash() {
    Android.hideSplash();
}

$(window).load(function(){
    hideSplash();
});

这是应该由javascript触发的功能:

public void hideSplash() {
    Toast.makeText(mContext, "Splash! Remove!!!", Toast.LENGTH_SHORT).show();
    View splash = (ImageView) findViewById(R.id.splash_screen);
    splash.setVisibility(View.GONE);            
}

如您所见,我在函数的开头放置了一个 Toast 警报,以检查是否发生了某些事情。我得到的是这个“飞溅!删除!!!” message 并且“splash”对象由于某种原因拒绝更改其可见性。有人请帮我让它工作......我已经尝试了一切!

我想我的整个方法可能是错误的。我想要的是在 WebView 内容完全加载时隐藏启动画面图像:

4

1 回答 1

0

好的,我知道了……我已经在父类中描述了该函数,然后从 javascript 类中调用了它。像这样:

public class MainActivity extends Activity {

    public class JavaScriptInterface extends Activity {
        public void hideSplash() {
            hideSplashHandler();
        }
    }

    public void onCreate(Bundle savedInstanceState) {
        /** Some onCreate stuff */
    }

    public void hideSplashHandler() {
        ImageView splash = (ImageView) findViewById(R.id.splash_screen);
        splash.setVisibility(View.GONE);  
    }

}

我不知道这是否正确,但它就像一个魅力^_^

于 2012-08-22T12:27:05.790 回答