Tag: android asynctask

SupportfragmentManager变成null android kotlin

我试图从onPostExecute启动一个dialogFragment,但由于某种原因supportFragmentManager返回null。 我试图从主要活动和其他片段启动dialogFragment,它完美的作品,但我不能从AsyncTask启动它。 这是AsyncTask: – class SubscribeTask: AsyncTask<Void, Void, Void> { var mContext: Context var mTextView_temp: TextView var mTextView_humidity: TextView var mWeather_image: ImageView var mMessage: JsonObject var mResult = JsonObject() var mTemp: String = "" var mHumidity: String = "" var mLdr: Boolean = true var mRain: Boolean = false var mWeather: Int = 0 var […]

Kotlin中AsyncTask的子类 – 无法在onPostExecute中使用主构造函数参数

我有一个在Kotlin中实现的AsyncTask的子类: class SignUpTask(responseHandler: SignUpTaskResponseHandler): AsyncTask<Agent, Void, Boolean>() { override fun doInBackground(vararg params: Agent?): Boolean { // Some awesome code return true } override fun onPostExecute(result: Boolean?) { result?.let { if (it) { responseHandler.agentCreationSucceeded() } else { // agent creation failed } } } } 问题是 – 我在这条线上得到错误responseHandler.agentCreationSucceeded() : 未解决的引用:responseHandler 我可以通过显式声明一个属性并将其赋值给构造函数中传递的参数来使其工作: class SignUpTask(responseHandler: SignUpTaskResponseHandler): AsyncTask<Agent, Void, […]

IOException:AsyncTask图像下载Kotlin Android(坏文件描述符)

UPDATE 经过一些调试后,我发现在给定代码中的Catch块得到执行,没有任何异常异常。 我打印inputstream返回一些值,事件位图varibale被初始化,但一旦它执行catch块,它返回null onPostExecute方法。 找出为什么发生? 请查看studio的调试截图 结束 我正在使用Android Studio 3.0。 使用Kotlin支持创建简单的Android应用程序,该应用程序通过AsyncTask类和HTTPURLConnection类从http协议网址下载图像。 在执行AsyncTask类时,我从HTTPURLConnection对象获取http响应代码200,但是使用BitmapFactory.decodeStream(inputstream)方法解码流时将引发IOEXception。 StackTrace倾向于错误引起:android.system.ErrnoException:recvfrom失败:EBADF,在调用此BitmapFactory.decodeStream(inputstream)方法的同一行上。 override fun doInBackground(vararg args: String?): Bitmap? { var bitmap: Bitmap? = null try { val url = URL(args[0]) val connection: HttpURLConnection = url.openConnection() as HttpURLConnection connection.requestMethod = "GET" connection.connectTimeout = 10 * 60 * 60 connection.readTimeout = 10 * 60 * 60 […]

在引用内部类的Activity时Kotlin错误

我有一个AsyncTask作为我在Kotlin写的Activity中的一个内部类。 现在,我试图从我的AsyncTask的onPostExecute使用this@MyActivity访问Activity,但Android Studio报告它为Unresolved Reference错误。 但是这是在线建议的从InnerClass引用OuterClass最常用的方法。 代码如下: class MyActivity : AbstractAppPauseActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) } override fun onResume() { super.onResume() } class MyTask(private var mContext: Context?, val pbMigrating: ProgressBar) :AsyncTask<Void, Int, Void>() { private var size: Long = 0 override fun onPreExecute() { super.onPreExecute() … } override fun doInBackground(vararg params: Void?): Void? […]

完成处理程序Android Kotlin

对不起,如果这个问题以前被问过,我真的无法找到任何甚至没有simillar! 我很抱歉,如果这个问题是愚蠢的,我是一个iOS开发人员,我有点失落在Android这里… 所以我使用燃料库( https://github.com/kittinunf/Fuel )从API获取JSON数据…在Swift中有一个叫做完成处理程序的东西,只要函数完成,就会返回它,立即运行它里面的代码。 这是Swift中的一个例子: func hardProcessingWithString(input: String, completion: (result: String) -> Void) { … completion("we finished!") } 我需要做的是在Kotlin中使用以下功能。 fun recomendationsData() { Fuel.get("https://rss.itunes.apple.com/api/v1/us/apple-music/hot-tracks/10/explicit.json").response { request, response, result -> println(request) println(response) val (bytes, error) = result if (bytes != null) { val str = String(bytes) val obj = JSONObject(str) val resultsP = obj.getJSONObject("feed") val results […]

Kotlin应用程序不显示我的JSON数组

我刚刚开始学习Kotlin,并试图用Kotlin创建我的第一个Android应用程序。 我有一个基于Restful API的web服务,它为我返回一个json数组,像下面的图像。 我的Kotlin代码通过gson库显示json数组! class MainActivity : AppCompatActivity() { val TAG:String="TipCalculatorActivity" var adapter:ArrayAdapter<Category>?=null var dsSP: MutableList<Category> = mutableListOf() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) adapter=ArrayAdapter(this,android.R.layout.simple_list_item_1,dsSP) lvCategory.adapter=adapter } override fun onResume() { super.onResume() var task=CategoryTask() task.execute() } inner class CategoryTask:AsyncTask<Void, Void, MutableList<Category>>() { override fun onPostExecute(result: MutableList<Category>?) { super.onPostExecute(result) dsSP.clear() dsSP.addAll(result!!) } override fun doInBackground(vararg […]