我如何访问
protected void onPostExecute(String result) {
//result
}
来自mainActivity的? 我想将EditText设置为结果
final MainActivity mContext=new MainActivity();
EditText showresult=(EditText)mContext.findViewById(R.id.xx);
以上代码未显示mainActivity的控件。
更新代码
protected void onPostExecute(String result) {
EditText ed=(EditText)findViewById(R.id.displayQue);
ed.setText(result);
}
09-03 15:31:19.882: D/AndroidRuntime(17146): Shutting down VM
09-03 15:31:19.882: W/dalvikvm(17146): threadid=1: thread exiting with uncaught exception (group=0x40d45930)
09-03 15:31:19.992: E/AndroidRuntime(17146): FATAL EXCEPTION: main
09-03 15:31:19.992: E/AndroidRuntime(17146): java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
09-03 15:31:19.992: E/AndroidRuntime(17146): at com.example.digiqueue.MainActivity$ftpfunctions.onPostExecute(MainActivity.java:106)
09-03 15:31:19.992: E/AndroidRuntime(17146): at com.example.digiqueue.MainActivity$ftpfunctions.onPostExecute(MainActivity.java:1)
09-03 15:31:19.992: E/AndroidRuntime(17146): at android.os.AsyncTask.finish(AsyncTask.java:631)
09-03 15:31:19.992: E/AndroidRuntime(17146): at android.os.AsyncTask.access$600(AsyncTask.java:177)
09-03 15:31:19.992: E/AndroidRuntime(17146): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
09-03 15:31:19.992: E/AndroidRuntime(17146): at android.os.Handler.dispatchMessage(Handler.java:99)
09-03 15:31:19.992: E/AndroidRuntime(17146): at android.os.Looper.loop(Looper.java:176)
09-03 15:31:19.992: E/AndroidRuntime(17146): at android.app.ActivityThread.main(ActivityThread.java:5365)
09-03 15:31:19.992: E/AndroidRuntime(17146): at java.lang.reflect.Method.invokeNative(Native Method)
09-03 15:31:19.992: E/AndroidRuntime(17146): at java.lang.reflect.Method.invoke(Method.java:511)
09-03 15:31:19.992: E/AndroidRuntime(17146): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
09-03 15:31:19.992: E/AndroidRuntime(17146): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
09-03 15:31:19.992: E/AndroidRuntime(17146): at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:0)
步骤可能如下:
interface
onResult(String result)
ResultListener
AsyncTask
AsyncTask
onResult
中为ResultListener成员onPostExecute
onResult
EditText
中显示结果
醇>
答案 1 :(得分:0)
您可以使用适配器来完成此操作。
从public View getView(int position, View convertView, ViewGroup parent)
方法调用您的异步方法。
答案 2 :(得分:0)
阅读stacktrace
E/AndroidRuntime(17146): java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
您在布局xml中似乎有一个TextView
,但在您的代码中尝试将其用作EditText
。这是行不通的。您必须更改xml以使用EditText
或您的代码才能使用TextView
我假设您只想显示结果,因此您应该使用TextView
(EditText
是一个文本输入框,用户可以在其中键入文本)
你的代码应该是这样的
protected void onPostExecute(String result) {
TextView tv=(TextView)findViewById(R.id.displayQue);
tv.setText(result);
}
祝你好运。 :)