문제

내가 하려고 따라 예에서 이 환 튜토리얼, 보낼 데이터에서 다시 기본 페이지입니다.그러나 그 때 그것을 반환에서 기본 페이지,인수(data 에서)콜백 함수(backFromNativePage(data) 이)정의되지 않습니다.나는 새로운 작업으로 환경이다,그래서 아마도 내가 이렇게 하지가 제대로 하고 있습니까?라고 기대했는 사람할 수 있고 내가 무엇을 하고 있을 수 있다고 잘못입니다.감사합니다!

여기에 무슨 일이 나의 코드는 다음과 같:

Login.java:

public class Login extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        LoginWebViewClient client = new LoginWebViewClient(this);

        webView = (WebView) findViewById(R.id.login);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(client);
        webView.loadUrl(url);
    }

    public void setAppDataAndReturn(HashMap<String, String> dataList) {
        Intent returnData = new Intent();

        for (Map.Entry<String, String> item : dataList.entrySet()) {
            returnData.putExtra(item.getKey(), item.getValue());
        }

        setResult(RESULT_OK, returnData);
        finish();
    }
}

LoginWebViewClient:

public class LoginWebViewClient extends WebViewClient {
    private Login webAct;
    private HashMap<String, String> dataList;

    public LoginWebViewClient(Login webAct) {
        this.webAct = webAct;
    }

    @Override
    public void onPageFinished(WebView view, String url) {
        this.dataList = getData(); //returns a HashMap    
        webAct.setAppDataAndReturn(dataList);
    }

AppInit.js:

var backFromNativePage = function(data) {
    WL.Logger.error("backFromNativeLoginPage: data= "+ data);
};

var showNativePage = function() {
    WL.NativePage.show('com.app.Login', backFromNativePage, {param: 'some value'});
};

는 방법에 의해 나가 사용하는 환전 6.1.0.00-20131219-1900 나는 시험에 안드로이드 4.3 전화입니다.

어떤 도움을 많이 주시면 감사하겠습니다!

편집:

다음과 같은 제안에서@IdanAdar,이것은 어떻게 내가 그것을 변경은 그것을 얻:

AppInit.js:

var showNativePage = function() {
    WL.NativePage.show('com.app.Login', function(data) {
        WL.Logger.error("backFromNativeLoginPage: data= "+ data);
    }, {param: 'some value'});
};
도움이 되었습니까?

해결책

기반으로 토론 의견:도 정의 콜백 함수 기능으로 대신 변수입니다.

function backFromNativePage(data) { 
    ...
}

다른 팁

나의 코드(를 사용하지 않았 웹 클라이언트부),으로 새로운 프로젝트 및 작동합니다.

다운로드할 수 있습 환경 샘플링 및 테스트?

가장 중요한 것은 기본 페이지 로딩을 위해 당신,의미,당신은 추가 작업을 android-manifest.xml?

할 수 있는 업로드 eclipse 프로젝트를 어딘가에 그래서 나는 그것을 볼 수 있습니다 참여하고 잘못입니다.이것은 정말 작업없이 문제입니다.

http://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v610/UsingNativePagesInHybridAppsProject.zip

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top