小编CQM*_*CQM的帖子

JSON转义空格字符

如何在JSON字符串中转义空格字符?基本上我的问题是我遇到了这样一种情况:读取字符串的程序可以使用HTML标记进行格式化,但我需要能够使用这些HTML标记而不向字符串添加更多空格.所以像

<u>text</u>
Run Code Online (Sandbox Code Playgroud)

没问题,可以添加下划线格式

但有点像

<font size="14">text</font>
Run Code Online (Sandbox Code Playgroud)

不好,因为<font>带有size属性的标记会为字符串添加额外的空间.我知道,有趣的标准,但在这一点上,这就是发生了什么.

我的第一个推测解决方案是拥有JSON可以在字体和大小之间放置的某种\ escape字符,这将解决我的"空间"问题,HTML将忽略但在代码中保留人类可读字符串而没有实际空格.

 ex. <font\&size="14">text</font>
Run Code Online (Sandbox Code Playgroud)

显示为: text

有点像&nbsp;但更好?

任何解决方案

html json escaping character

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

Java,Parse JSON我知道的对象是null

我有一个JSON对象数组.要解析这些数组并存储简单的数据类型值,我必须对键名进行假设并相应地存储它们.

我也知道有时键的值将为null.例子{["promotion":null]}我将如何解析这个?

如果我尝试访问值为null的键,我会得到一个JSONException.现在这是有道理的,但即使我这样做,if(myJSObject.getString("promotion")!=null)我检查时仍会得到JSON异常

我如何在我的代码中对null对象进行条件检查,以便我可以避免JSON异常

java null json exception

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

android以编程方式在radiogroup按钮之间添加填充

我在xml中有一个radiogroup,按钮是以编程方式生成的.如何以编程方式在按钮之间添加间距.

我认为这是类似的东西,LayoutParams但我的对象没有明显setPaddingsetMargins方法.

这就是我的尝试

RadioButton currentButton = new RadioButton(context);
            currentButton.setText(item.getLabel());
            currentButton.setTextColor(Color.BLACK);

            //add padding between buttons
            LayoutParams params = new LayoutParams(context, null);
            params. ... ??????
            currentButton.setLayoutParams(params);
Run Code Online (Sandbox Code Playgroud)

android margin padding radio-group radio-button

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

android google signin和facebook登录按钮看起来完全不同

默认的Facebook LoginButton对象和Google SignIn按钮对象具有完全不同的外观,并且它们不能一起适合我现有的布局.据我所知,这些对象不是我可以在不改变库本身的情况下修改的资产(我假设这些组件也是开源的)

人们如何处理这个问题?我已经看到有两个使用自己的自定义按钮的登录选项的应用程序,但在我的实现中,我使用那些给定的对象,可以在点击时自动调用各自的库.

我当然可以深入了解,但如果我这样做,我觉得我正在重新发明不那么明显的轮子

 <com.google.android.gms.common.SignInButton
                android:id="@+id/sign_in_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center" />
Run Code Online (Sandbox Code Playgroud)

这个对象显然不是一个按钮,我还没有检查过它是否真的是一个按钮.

我需要为Google+和Facebook登录按钮使用不同的资源.

是)我有的

我喜欢的一个Android示例(Duolingo app)

编辑:经过一些非常简单的布局调整后,这就是结果(在横向模式下,只是为了说明问题)

这些按钮仍然非常不同,我需要一个不同的资产,仍然可以访问正确的方法.由于这些例子,我有点了解如何使用Facebook,但谷歌签到对我来说非常神秘

android assets google-plus android-facebook

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

Android列表视图不再突出显示选择onclick

我有一个列表视图,当我触摸它们时,它会显示项目上的黄色视图.所有我做的不同的是改变listview xml中的背景图像,现在它不再向我显示yellowtint

这是代码

列表视图xml,它只是一个带有背景图像的textview:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:padding="10dp"
    android:textSize="24sp"
    android:textColor="#000000"
    android:background="@drawable/bglistitem"
    android:gravity="center_vertical|center_horizontal">
</TextView>
Run Code Online (Sandbox Code Playgroud)

在另一个布局中调用它的位置

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:padding="10dp"
    android:textSize="24sp"
    android:textColor="#000000"
    android:background="@drawable/bglistitem"
    android:gravity="center_vertical|center_horizontal">
</TextView>
Run Code Online (Sandbox Code Playgroud)

这是代码:

lv.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) {}
});
Run Code Online (Sandbox Code Playgroud)

正如你在上面所看到的,我从来没有做任何会改变选择突出显示的默认行为的东西,为什么现在会有所不同,也许你看到我看不到的东西?

java android listview highlighting selection

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

Android清除webview线程,释放内存,避免OutOfMemoryError

我在webview中显示一个相当大的图像,以便可以使用缩放缩放功能和其他查看便利.

它第一次正确显示.但是在离开活动并回到它之后,应用程序崩溃了与webview线程相关的OutofMemoryError.

我尝试了几个尝试关闭webview或停止线程,或清除其内存使用,但无济于事.以下是我添加到活动onStop()功能中的代码示例

    wv.stopLoading();
    wv.clearCache(true);
    //removeView(wv);
    wv.clearView();
    wv.freeMemory();
    wv.destroy();
    try {
        Class.forName("android.webkit.WebView").getMethod("onPause", (Class[]) null).invoke(wv, (Object[]) null);
    } catch (IllegalArgumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (SecurityException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (InvocationTargetException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (NoSuchMethodException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        // TODO …
Run Code Online (Sandbox Code Playgroud)

multithreading android image out-of-memory webview

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

Android progressBar没有显示

我有一个应该在AsyncTask中运行的进度条,但它没有出现,尽管任务运行

XML:

<?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="match_parent"
android:background="@drawable/splashportrait">
<ProgressBar android:layout_alignParentBottom="true" android:indeterminate="true"
    android:layout_centerHorizontal="true" android:paddingBottom="450dip"
    android:layout_width="200dip" android:layout_height="200dip"
    android:id="@+id/progressBar1"></ProgressBar>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

码:

ProgressBar diagProgress;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splashscreen);

    diagProgress = (ProgressBar)findViewById(R.id.progressBar1);
    DiagnosticsTask diag = new DiagnosticsTask();
    diag.execute();

  /**rest of class ommitted here**/
}

private class DiagnosticsTask extends AsyncTask<String, String, Boolean> {

    //Show spinner
    protected void onPreExecute() {
        //dialog.setMessage("Loading corresponding destinations...");
        //dialog.show();
        diagProgress.setVisibility(View.VISIBLE);
        diagProgress.showContextMenu();
        Log.e("AsyncStatus", "spinner shown");
    }
 /*other parts of the thread ommitted here*/

}
Run Code Online (Sandbox Code Playgroud)

android progress-bar

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

android编程模糊imageview drawable

我想在Android中以编程方式模糊和解开图像.

我听说在API 14之后不再支持android标志"blur",但我还是想使用Java方法.我的主要问题是从Imageview drawable操纵位图.

我如何从imageview获取位图并对其进行操作(可能会使用高斯模糊)并将其设置回imageview?我认为这个过程涉及提取drawable,将drawable转换为位图,在该位图上执行我的模糊方法,然后反过来直到它再次设置为imageview

但是我希望这个过程拼写出来,谢谢

android bitmap blur drawable imageview

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

d3.js将图例添加到多行系列图表中

如何在多线系列图表中添加图例?我试过,但没有得到任何传说.

块在这里:

http://bl.ocks.org/3884955

当各种系列收敛到同一点时,有一个缺陷,如零.所有标签将相互重叠.传统的传说将不再适用于这些标签.

我尝试添加这个

var legend = svg.append("g")
.attr("class", "legend")
.attr("height", 100)
.attr("width", 100)
.attr('transform', 'translate(-20,50)');    

legend.selectAll('rect')
  .datum(function(d) { return {name: d.name, value: d.values[d.values.length - 1]}; })
  .append("rect")
  .attr("x", width)
  .attr("y", function(d, i){ return i *  20;})
  .attr("width", 10)
  .attr("height", 10)
  .style("fill", function(d) { 
    return color.domain(d3.keys(d[0]).filter(function(key) { return key !== "day"; }));
  });

legend.selectAll('text')
  .datum(function(d) { return {name: d.name, value: d.values[d.values.length - 1]}; })
  .append("text")
  .attr("x", width)
  .attr("y", function(d, i){ return i *  20 + 9;})
  .text(function(d) {
  return …
Run Code Online (Sandbox Code Playgroud)

javascript visualization dataset d3.js

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

android intent chooser缓慢出现

当用户有很多可以接受某种意图的应用程序时,intentchooser需要一段时间才能加载,至少需要花费大量时间

然而,这种等待发生在我启动意图之后,有没有什么方法可以设置某种加载指示器或中间视觉元素来让用户不太注意时间?

android android-intent runnable

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