小编Pad*_*990的帖子

Android一旦呈现就获得webview内容的高度

我试图在渲染后获得webview的高度.它总是返回null,我试过getHeight,getMeasuredHeight,getContentHeight它总是返回null.

布局:

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

    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/instructions"
    android:background="@color/transparent_black" >

        <WebView
            android:id="@+id/top_content"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

活动

public class TestActivity extends MenuActivity {

private final static String TAG = "HearingTest";
private String urlTopContent;
private WebView topContent;
private boolean mMoreInfoTop = true;
private int mYdelta = 0;
private int mBottomOffset = 0;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.right_hearing_test);

        String topHtml = this.getString(R.string.top_content);
        //String bottomHtml = this.getString(R.string.bottom_content);

        urlTopContent = "file:///android_asset/html/" + topHtml; …
Run Code Online (Sandbox Code Playgroud)

java android webview

15
推荐指数
1
解决办法
2万
查看次数

南希模型绑定

嗨,我正在学习南希,我正在尝试绑定模型,但我收到错误:

Error   8   'NancyFxTutorial.CarModule' does not contain a definition for 'Bind' and no extension method 'Bind' accepting a first argument of type 'NancyFxTutorial.CarModule' could be found (are you missing a using directive or an assembly reference?) C:\Development\Projects\C#\Web\Nancy\NancyFxTutorial\NancyFxTutorial\CarModule.cs
Run Code Online (Sandbox Code Playgroud)

模型:

public class BrowseCarQuery
{
    public string Make { get; set; }
    public string Model { get; set; }
}

public class CarModule : NancyModule
{
    public CarModule()
    {
        Get["/status"] = _ => "Hello World";

        Get["/Car/{id}"] = parameters =>
            {
                int id = …
Run Code Online (Sandbox Code Playgroud)

c# model-binding nancy

6
推荐指数
1
解决办法
6746
查看次数

Android Timeout webview如果加载时间超过一定时间

如果加载显示错误消息需要很长时间,我想暂停我的webview.我正在使用,setWebViewClient因为我需要使用public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error).

我一直在环顾四周,看到我可以使用这种方法onProgressChanged(WebView view, int newProgress).现在我不能使用这种方法setWebViewClient,也无法弄清楚如何解决这个问题.我的另一个问题是,一旦页面加载,进度条永远不会消失,我也无法在方法中添加断点public void onPageFinished(WebView view, String url).

Web视图设置方法:

public void WebViewSettings(){

    webView = (WebView) findViewById(R.id.webview);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setSupportZoom(true);
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.canGoBack();

    webView.setWebViewClient(new WebViewClient(){

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if (Uri.parse(url).getHost().equals(urlString)) {
                // This is my web site, so do not override; let my WebView load the page
                return false;
            }
            // Otherwise, the link is not for …
Run Code Online (Sandbox Code Playgroud)

java android webview android-progressbar

5
推荐指数
1
解决办法
1万
查看次数

Android Helper类

我在我的android应用程序中有几个方法,我想在多个活动中重用,因为它是一个Java助手类,我没有从任何东西扩展.我有两个问题,第一个是如何将上下文传递给java类,第二个是如何使用从helper类中的activity扩展的方法,下面是我的帮助类:

Java类

public class ScreenHelper {
    Context context;
    public ScreenHelper(Context ctx) {
        this.context = ctx;
    }

    public int getStatusBarHeight(layout layout) {
        Rect r = new Rect();
        Window w = (Window) getWindow();
        w.getDecorView().getWindowVisibleDisplayFrame(r);
        return r.top;
    }

    public int getScreenHeight() {
        DisplayMetrics metrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        int ScreenHeight = metrics.heightPixels;
        return ScreenHeight;
    }

    public int getTitleBarHeight() {
        RelativeLayout relaLayout = (RelativeLayout) findViewById(R.id.title_bar);
        int titleHeight = relaLayout.getHeight();

        Log.d("Title Height","Title Height:" + titleHeight);
        return titleHeight;
    }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激.

java android android-context

4
推荐指数
1
解决办法
8898
查看次数

Android重复使用不同数据的活动

嗨,我正在开发一个Android应用程序,并有两个实际上相同的活动,但加载不同的数据.我目前有两个活动,有很多重复的代码,我觉得我可以通过只使用一个活动来优化它.

活动1:

    @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.right_hearing_test);

    String topHtml = this.getString(R.string.top_content);
    String bottomHtml = this.getString(R.string.bottom_content);

    View infoButton = findViewById(R.id.info_button);
    infoButton.setVisibility(View.VISIBLE);

    TextView titleText = (TextView) findViewById(R.id.title_text);
    titleText.setText(R.string.Hearing_Test);

    mScrollButton = (ScrollView) findViewById(R.id.scroll_view);

    topContent = (WebView) findViewById(R.id.top_content);
    topContent.setBackgroundColor(0);

    bottomContent = (WebView) findViewById(R.id.bottom_content);
    bottomContent.setBackgroundColor(0);

    activityHelper = new ActivityHelper(this);

    topContent.loadUrl("file:///android_asset/html/" + topHtml);
    bottomContent.loadUrl("file:///android_asset/html/" + bottomHtml);

    getScreenSize();
    getMargins();

    setResult(RESULT_OK);
}
Run Code Online (Sandbox Code Playgroud)

活动2

    @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.left_hearing_test);

    View infoButton = findViewById(R.id.info_button);
    infoButton.setVisibility(View.VISIBLE);

    mScrollButton = (ScrollView) findViewById(R.id.scroll_view);

    topContent = (WebView) findViewById(R.id.top_content);
    topContent.setBackgroundColor(0); …
Run Code Online (Sandbox Code Playgroud)

java android

3
推荐指数
1
解决办法
797
查看次数

如何使用C#写入JSON文件?

我希望能够将用户添加到用户json文件.我正在使用Json.net这样做,任何人都有任何想法,我可能会这样做吗?

c# json.net

1
推荐指数
1
解决办法
2万
查看次数

Android 请求在 webview 中使用位置的权限

我有一个使用 webview 的应用程序,webview 里面有一个地图,我让它可以让用户使用以下代码自动找到用户位置:

清单文件权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
<uses-permission android:name="android.permission.ACCESS_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)

网页视图活动:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.map_layout);

    WebViewSettings();

    LoadWebPage(urlString);
}
Run Code Online (Sandbox Code Playgroud)

网页视图设置:

@SuppressLint("SetJavaScriptEnabled")
public void WebViewSettings(){

    webView = (WebView) findViewById(R.id.webview);
    webView.canGoBack();

    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setSupportZoom(true);
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.setWebViewClient(new WebViewClientSetup());
    webView.setWebChromeClient(new GeoWebChromeClient());
    webView.getSettings().setGeolocationEnabled(true);

    myTimer = new Timer();
    //Start this timer when you create you task
    myTimer.schedule(new loaderTask(), 20000);

}
Run Code Online (Sandbox Code Playgroud)

WebView客户端:

public class WebViewClientSetup extends WebViewClient {

    @Override
    public …
Run Code Online (Sandbox Code Playgroud)

java android webview webviewclient webchromeclient

1
推荐指数
1
解决办法
6676
查看次数

Android以编程方式将边距添加到Webview

我需要以编程方式将边距添加到webview.我想做类似下面的事情:

public void setSideMargin(final int sideMargin, int id) {
    WebView webView = (WebView) ((Activity) context)
            .findViewById(id);

    WebView.LayoutParams p = new WebView.LayoutParams(
            WebView.LayoutParams.MATCH_PARENT,
            WebView.LayoutParams.WRAP_CONTENT);

    p.leftMargin = sideMargin;
    p.rightMargin = sideMargin;

    webView.setLayoutParams(p);
}
Run Code Online (Sandbox Code Playgroud)

我知道这显然是错误的,但有什么我可以做的以编程方式添加边距吗?谢谢

java android margins webview

1
推荐指数
1
解决办法
7386
查看次数

xUnit 检查方法是否返回 true

我有一个序列化 Json 对象的方法,如下所示:

public bool SerializeObject<T>(string fileName, IEnumerable<T> list)
    {
        try
        {
            var listContent = JsonConvert.SerializeObject(list, Formatting.Indented);
            var relativeFileName = _httpContext.Server.MapPath(fileName);

            _file.WriteAllText(relativeFileName, listContent);

            return true;
        }
        catch (Exception ex)
        {
            _logger.LogException(ex);
            return false;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我想创建一个单元测试来测试该方法是否返回 true,但无法想到为单元测试执行此操作的逻辑!任何人都可以对我如何在 xUnit 中执行此操作提出一些建议吗?谢谢

c# serialization json xunit nancy

1
推荐指数
1
解决办法
6166
查看次数