我想将调用Asynctask的父活动传递给Asynctask ..
以下是我的代码的一部分我想在doinbackground参数中使用活动对象而不是字符串但我不能因为我无法做到这一点..请解释如何做..
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:background="#ffffffff"
android:id="@+id/relativelayout">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button2"
android:text="/"
android:background="#FF6600"
android:onClick="appendCharacter"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@+id/button4"
android:layout_toEndOf="@+id/button4" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button4"
android:text="*"
android:background="#FF6600"
android:onClick="appendCharacter"
android:layout_alignTop="@+id/button5"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button5"
android:text="="
android:background="#85C2FF"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:onClick="displayResult"
android:layout_alignLeft="@+id/button19"
android:layout_alignStart="@+id/button19"
android:layout_toEndOf="@+id/button2"
android:layout_toRightOf="@+id/button2" />
<TextView
android:layout_width="0dp"
android:layout_height="0dp"
android:id="@+id/textView"
android:layout_below="@+id/button2"
android:layout_alignRight="@+id/button"
android:layout_alignEnd="@+id/button" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:text="+"
android:background="#FF6600"
android:layout_above="@+id/button2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:onClick="appendCharacter" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button3"
android:text="-"
android:background="#FF6600"
android:layout_below="@+id/button6"
android:layout_toRightOf="@+id/button"
android:layout_toEndOf="@+id/button"
android:onClick="appendCharacter" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button6"
android:text="0"
android:background="#ffff5830"
android:layout_above="@+id/button"
android:layout_toRightOf="@+id/button7"
android:layout_toEndOf="@+id/button19"
android:onClick="appendCharacter"
android:textAlignment="center" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button7"
android:text="9"
android:background="#ffff5830"
android:layout_alignBottom="@+id/button6"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:onClick="appendCharacter" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button8"
android:text="8"
android:background="#ffff5830"
android:layout_above="@+id/button6"
android:layout_toRightOf="@+id/button7"
android:layout_toEndOf="@+id/button7"
android:onClick="appendCharacter"
android:textAlignment="center" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button9"
android:text="7"
android:background="#ffff5830"
android:layout_above="@+id/button7"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:onClick="appendCharacter" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button10"
android:text="6"
android:background="#ffff5830"
android:onClick="appendCharacter"
android:layout_below="@+id/button13"
android:layout_toRightOf="@+id/textView"
android:layout_toEndOf="@+id/textView"
android:textAlignment="center" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button11"
android:text="5"
android:background="#ffff5830"
android:layout_above="@+id/button9"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:onClick="appendCharacter" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button12"
android:text="4"
android:background="#ffff5830"
android:onClick="appendCharacter"
android:layout_above="@+id/button10"
android:layout_toRightOf="@+id/button11"
android:layout_toEndOf="@+id/button11"
android:textAlignment="center" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button13"
android:text="3"
android:background="#ffff5830"
android:onClick="appendCharacter"
android:layout_above="@+id/button11"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button14"
android:text="2"
android:background="#ffff5830"
android:layout_above="@+id/button12"
android:layout_toRightOf="@+id/button13"
android:layout_toEndOf="@+id/button13"
android:onClick="appendCharacter"
android:textAlignment="center" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button15"
android:text="1"
android:background="#ffff5830"
android:layout_alignBottom="@+id/button14"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:onClick="appendCharacter"
android:textAlignment="center" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button17"
android:text=")"
android:background="#FF6600"
android:onClick="appendCharacter"
android:layout_above="@+id/button5"
android:layout_alignRight="@+id/editText2"
android:layout_alignEnd="@+id/editText2" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button18"
android:text="Cot"
android:background="#FF6600"
android:layout_below="@+id/button8"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button19"
android:text="tan"
android:background="#FF6600"
android:layout_alignTop="@+id/button18"
android:layout_toLeftOf="@+id/button17"
android:layout_toStartOf="@+id/button17" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button20"
android:text="sec"
android:background="#FF6600"
android:layout_above="@+id/button18"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button21"
android:text="cos"
android:background="#FF6600"
android:layout_alignTop="@+id/button20"
android:layout_toLeftOf="@+id/button18"
android:layout_toStartOf="@+id/button18" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button22"
android:text="csc"
android:background="#FF6600"
android:layout_alignBottom="@+id/button10"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:onClick="appendCharacter" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button23"
android:text="sin"
android:background="#FF6600"
android:onClick="appendCharacter"
android:layout_below="@+id/button24"
android:layout_alignLeft="@+id/button19"
android:layout_alignStart="@+id/button19" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button24"
android:text="Equation"
android:background="#ffffcf23"
android:layout_below="@+id/button26"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignLeft="@+id/button26"
android:layout_alignStart="@+id/button26" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button25"
android:text="Units"
android:background="#ffffcf23"
android:layout_above="@+id/button14"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_toEndOf="@+id/button27"
android:layout_toRightOf="@+id/button27" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button26"
android:text="Matrix"
android:background="#ffffcf23"
android:layout_above="@+id/button12"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_toRightOf="@+id/button27"
android:layout_toEndOf="@+id/button27" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button27"
android:text="Settings"
android:background="#ff33ff8e"
android:layout_above="@+id/button14"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_toStartOf="@+id/button23"
android:layout_toLeftOf="@+id/button23" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText2"
android:layout_above="@+id/button27"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:textColor="#000000" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button16"
android:text="("
android:background="#FF6600"
android:onClick="appendCharacter"
android:layout_alignTop="@+id/button3"
android:layout_alignRight="@+id/button19"
android:layout_alignEnd="@+id/button19" />
</RelativeLayout>
答案 0 :(得分:0)
Backgroundtask
内的Activity
内部类是什么?如果是这样,您将不需要传递Context
参数。相反,您可以使用*ActivityName*.this
。
除此之外,你的方法看起来很好。您可能想要构建构造函数public
。
答案 1 :(得分:0)
来自http://developer.android.com/reference/android/os/AsyncTask.html站点:“Params,执行时发送给任务的参数类型。”因此,当您使用Backgroundtask扩展AsyncTask类时,您可以说:
public class Backgroundtask extends AsyncTask<GenericTypeOfYourChoice, Void, String>
并将您的对象作为.execute()方法的第一个参数传递,例如:
new Backgroundtask().execute(instanceOfGenericTypeOfYourChoice);