小编bel*_*ian的帖子

在arrayadapter中交换数据时,从绑定器存根实现中捕获了RuntimeException

public class MainActivity extends AppCompatActivity {

     ArrayList<String> list = new ArrayList<>();

     ArrayAdapter<String> adapter;

     ArrayList<String> data1 = new ArrayList<>();

     ArrayList<String> data2 = new ArrayList<>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    for (int i = 0 ; i< 10 ;i++){
        data1.add(String.valueOf(i));
    }

    for (int i = 20; i < 30; i++){
        data2.add(String.valueOf(i));
    }

    Spinner spinner = (Spinner) findViewById(R.id.demo);
    adapter = new ArrayAdapter<>(this,android.R.layout.simple_dropdown_item_1line,list);
    spinner.setAdapter(adapter);
}

private void change(boolean which){
    if (which){
        list.clear();
        list.addAll(data1);

    }else{
        list.clear();
        list.addAll(data2);

    }
    adapter.notifyDataSetChanged();
}

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

java android spinner android-arrayadapter android-windowmanager

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

UINavigationControllerDelegate的didShowViewController方法被调用了两次

class ViewController: UIViewController, UINavigationControllerDelegate {

      override func viewDidLoad() {
         super.viewDidLoad()
         navigationController!.delegate = self
      }

      func navigationController(navigationController: UINavigationController, didShowViewController viewController: UIViewController, animated: Bool) {
         print("showViewController")
      }

      func navigationController(navigationController: UINavigationController, willShowViewController viewController: UIViewController, animated: Bool) {
         print("sss")
      }

      func update() {
         let vc = SecondViewController()
         navigationController!.pushViewController(vc, animated: true)
      }
}
Run Code Online (Sandbox Code Playgroud)

这是我演示的第一个控制器,在控制台中:

sss
showViewController
showViewController
Run Code Online (Sandbox Code Playgroud)

两次调用"didShowViewController".我不确定发生了什么

-----------------一些测试----------------------

我在控制器的这些方法中添加了一些日志:loadView,viewDidLoad,viewWillAppear,viewDidAppear,这些日志的顺序是:

loadView
viewDidLoad
viewWillAppear
will:<NaviDemo.ViewController: 0x7fe8c9533050>
<NaviDemo.ViewController: 0x7fe8c9533050>
viewDidAppear
<NaviDemo.ViewController: 0x7fe8c9533050>
Run Code Online (Sandbox Code Playgroud)

uinavigationcontroller ios swift

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

android studio 2.2如何在没有android-apt插件的情况下应用dagger2

我的项目build.gradle

buildscript {
     repositories {
     jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:2.2.0-alpha3'
    classpath 'com.google.dagger:dagger-compiler:2.2'
    classpath 'com.google.guava:guava:19.0'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
   }
}
allprojects {
     repositories {
        jcenter()
     }
}

task clean(type: Delete) {
     delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)

我的模块build.gradle

android {
compileSdkVersion 24
buildToolsVersion '24.0.0'

defaultConfig {
    applicationId "com.aber.app.acgtalk"
    minSdkVersion 19
    targetSdkVersion 24
    versionCode 1
    versionName "1.0"
    jackOptions {
        enabled true
    }
}

buildTypes {
    release {
        minifyEnabled true …
Run Code Online (Sandbox Code Playgroud)

android android-studio

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

类型"Int - > Bool","Int-> Bool - > Int","Int-> String - > Int-> Bool"

有一个功能:

 func (first: Int) -> Int -> Bool -> String {

    return  ?
 }
Run Code Online (Sandbox Code Playgroud)

如何写回报值?我对上面的func的返回类型非常困惑.

ios swift

5
推荐指数
2
解决办法
955
查看次数

使用 Retrofit2/okhttp3 上传文件,上传动作总是执行两次,一次快,一次慢

我使用 ProgressRequestBody 来显示上传操作的进度。

@Override
public void writeTo(BufferedSink sink) throws IOException {
    // see https://github.com/square/okhttp/issues/1587
    // JakeWharton commented on 28 Apr 2015  's answer
    final BufferedSink progressSink = Okio.buffer(new ForwardingSink(sink) {
        long bytesWritten = 0L;
        long contentLength = 0L;

        @Override
        public void write(Buffer source, long byteCount) throws IOException {
            if (contentLength == 0) {
                contentLength = contentLength();
            }
            bytesWritten += byteCount;
            mListener.onProgressUpdate(bytesWritten,contentLength,bytesWritten == contentLength);
            System.out.println("--byte--"+bytesWritten);
            super.write(source, byteCount);
        }
    });
    requestBody.writeTo(progressSink);
    System.out.println("--byte-- start---");
    progressSink.flush();
    System.out.println("--byte-- end---");
}
Run Code Online (Sandbox Code Playgroud)

每次执行上传操作时,都会调用此方法两次。起初,我认为问题可能是在 okhttpclient 中添加了用于日志的拦截器,但事实并非如此。谁能帮帮我?谢谢

更多代码:

public …
Run Code Online (Sandbox Code Playgroud)

java okhttp retrofit2

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

如何“删除”一个函数返回的 char * 变量?

函数原型:

char * get_something();
Run Code Online (Sandbox Code Playgroud)

现在我们需要释放“get_something”函数分配的内存。

删除还是删除[]?

我们没有关于函数实现的信息——字符数组或单个字符

c++

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