小编wes*_*ton的帖子

为每条记录重复一个复杂的布局

我有一个查询数据库并获取记录集的应用程序,在显示器上,我需要使用一个复杂布局的行来呈现这些数据.每行包含一些ImageView,许多TextView等...

以编程方式创建行布局真的很困难,有没有办法从xml中获取整个行布局(行布局的容器和子行),编辑一些属性(如行布局的TextViews)并添加结果为LinearLayout?

xml layout android

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

使用%.s的sprintf用法

虽然像这样使用sprintf

sprintf("%.40s",str);
Run Code Online (Sandbox Code Playgroud)

我想给strlen(str)代替40这样的值.我该怎么做?我尝试用strlen(str)替换40,但是不起作用.给予像这样的价值

#define len strlen(str)
Run Code Online (Sandbox Code Playgroud)

并且使用%.len也不起作用,因为%.len用于"".

c printf

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

任务运行时停止任务

如何在任务运行时完全停止任务?

private async void button1_Click(object sender, EventArgs e)
{
  await Backup(file);
}

public async Task Backup(string File)
{
   await Task.Run(() =>
     {
       1)do something here

       2)do something here

       3)do something here

      });
}
private async void button2_Click(object sender, EventArgs e)
{
  <stop backup>
}
Run Code Online (Sandbox Code Playgroud)

如果说我想在第二件事处理期间停止任务,我点击一个按钮2然后任务将停止进程

如何取消或结束任务button2_Click

.net c# multithreading async-await c#-4.0

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

如何在EditText上设置多个InputFilters?

int maxLength = 20;
private String blockCharacterSet = "~#^|$%'&*!;";

private InputFilter filter = new InputFilter()
{

    @Override
    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend)
    {

        if (source != null && blockCharacterSet.contains(("" + source))) {
            return "";
        }
        return null;
    }
};
Run Code Online (Sandbox Code Playgroud)

这里只有一个过滤器正在运行blockCharacterSet或最大长度:

EditText etname;
etname.setFilters(new InputFilter[] { filter });
etname.setFilters(new InputFilter[] {new InputFilter.LengthFilter(maxLength)});
Run Code Online (Sandbox Code Playgroud)

有人可以帮我一次设置上面两个过滤器吗?

android android-edittext

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

带有if语句的where子句

大家好,并提前感谢,我对如何使用where子句与我需要执行的条件语句感到困惑.我有两个信息网格,一个网格依赖于另一个网格来确定什么显示.在第一个网格中,日期字段可以是日期,也可以说是从不.

第一个网格的数据是这样的:

ID       Date     Title
---      -----    ------
12       Never    Home
13       Never    School
14       Never    Work
Run Code Online (Sandbox Code Playgroud)

第二个网格只显示三个中的一行,具体取决于Date字段的值,在本例中它应该是:

ID       Date     Title
---      -----    ------
12       Never    Home 
Run Code Online (Sandbox Code Playgroud)

此信息被拉入我想要使用LINQ迭代的List中.我想要实现的是:

If(All Date values == 'Never') 
    Then pull the first one (12)
else
    if(Date has value)
         then pull the first that has a date

myList.Where(??what goes here??).Select(t => t).FirstOrDefault(); 
Run Code Online (Sandbox Code Playgroud)

c# linq

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

交换列表的元素

我有一个对象列表,并且我想对列表进行一些操作,使得特定对象应该移动到列表位置0并且位置0处的对象将发生移位对象.图如下所示.

在此输入图像描述

清单如下

final List<Object> list= new ArrayList<Object>();
Run Code Online (Sandbox Code Playgroud)

目前我已经制作了两个临时名单

final List<Object> temp1= new ArrayList<Object>();
    final List<Object> temp2= new ArrayList<Object>();
Run Code Online (Sandbox Code Playgroud)

我正在运行一个循环,并在特定条件下将对象添加到temp1,否则添加到temp2,如下所示:

for (int i = 0; i < 5; i++) {

                if (i==3) {

                    temp1.add(i);

                } else {
                    temp2.add(i);
                }
            }
Run Code Online (Sandbox Code Playgroud)

最后做

list.addAll(temp1);
            list.addAll(temp2);
Run Code Online (Sandbox Code Playgroud)

如何在冗余和有效的步骤中执行相同的逻辑,而不是使用临时列表.

java

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

在进入doInBackground()之前,AsyncTask需要很长时间

我有一个来自SharedPreferences的AsyncTask读取.当我在安装后第一次启动应用程序时,AsyncTask需要很长时间才能调用doInBackground()方法.

这是代码:

public class ReadSharedPrefsTask extends AsyncTask{

    private static final String TAG = ReadSharedPrefsTask.class.getSimpleName();
    Context context;
    String key;
    Object result;
    OnReadFinishedListener listener;
    long startTime;

    /**
     * @param context the context
     * @param key the shared preferences key
     * @param listener a listener which gets informed when the read operation is finished
     */
    public ReadSharedPrefsTask(Context context, String key, OnReadFinishedListener listener){
        Log.d(TAG, "Ctor begin");
        startTime = System.currentTimeMillis();
        this.context = context.getApplicationContext();
        this.key = key;
        this.listener = listener;
        Log.d(TAG, "Ctor end; elapsed …
Run Code Online (Sandbox Code Playgroud)

multithreading android android-asynctask

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

HashMap不必要地放置重复值

我有以下代码,我想将结果插入数据库但是现在我只想打印出带有值的键.

在此代码之前使用键设置HashMap,它可以正常工作.

下面的代码循环遍历tableView,从列中获取项,如果项等于哈希映射中的键,则它将dogsID作为值放入hashmap中.

  // loop through tableView items
    for (Dog item : BookDogTableView.getItems()) {
        // cell data is not null
        if ((BookDogSelectRunCol.getCellData(item) != null)) {

            // loop through map
            for (Integer key : hashMap.keySet()) {

                // if chosen run ID equals key
                if (BookDogSelectRunCol.getCellData(item)) {

                    // put dog in map 
                    BookingInformation.hashMap.put(key,
                            item.getDogID());

                }
            }

        }


        for (Integer keyprint : hashMap.keySet()) {

            if (hashMap.get(keyprint) != 0) {

                    System.out.println("RUn ID : " + keyprint + " DogID : "
                            + hashMap.get(keyprint));

            } …
Run Code Online (Sandbox Code Playgroud)

java

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

使用(平面)映射比简单的空检查有什么优势?

我正在阅读下面的源代码,我想知道为什么我要使用平面图方式。正如我所看到的,与通过 if 语句进行简单的 null 检查相比,实例化了更多的对象,执行了更多的代码,后者将在第一个 null 处终止,而不必费心检查其他内容,并且非常适合包装器。

正如我所见,if 检查更快+内存更安全(速度对我来说非常重要,因为我通常只有 2-3 毫秒来执行大量代码(如果有的话)

使用“(flat)Map”可选方式有什么好处?我为什么要考虑改用它?

来自http://winterbe.com/posts/2014/07/31/java8-stream-tutorial-examples/

class Outer {
    Nested nested;
}

class Nested {
    Inner inner;
}

class Inner {
    String foo;
}
Run Code Online (Sandbox Code Playgroud)

为了解析外部实例的内部字符串 foo,您必须添加多个 null 检查以防止可能的 NullPointerExceptions:

Outer outer = new Outer();
if (outer != null && outer.nested != null && outer.nested.inner != null) {
    System.out.println(outer.nested.inner.foo);
}
Run Code Online (Sandbox Code Playgroud)

通过使用可选的 flatMap 操作可以获得相同的行为:

Optional.of(new Outer())
    .flatMap(o -> Optional.ofNullable(o.nested))
    .flatMap(n -> Optional.ofNullable(n.inner))
    .flatMap(i -> Optional.ofNullable(i.foo))
    .ifPresent(System.out::println);
Run Code Online (Sandbox Code Playgroud)

java

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

这个nvidia的arctan2背后的逻辑是什么?

Nvidia在Cg 3.1 Toolkit文档中有一些功能

arctan2实现如下

float2 atan2(float2 y, float2 x)
{
  float2 t0, t1, t2, t3, t4;

  t3 = abs(x);
  t1 = abs(y);
  t0 = max(t3, t1);
  t1 = min(t3, t1);
  t3 = float(1) / t0;
  t3 = t1 * t3;

  t4 = t3 * t3;
  t0 =         - float(0.013480470);
  t0 = t0 * t4 + float(0.057477314);
  t0 = t0 * t4 - float(0.121239071);
  t0 = t0 * t4 + float(0.195635925);
  t0 = t0 * t4 - float(0.332994597);
  t0 …
Run Code Online (Sandbox Code Playgroud)

c nvidia polynomial-math numerical-methods atan2

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