广东话传球方面

问题描述:

我有以下的,我想通过上下文作为第一个参数的代码,但我不能,试图从这些网所有可能的答案为:getActivity()getContext()thisgetActivity().getApplicationContext()广东话传球方面

没有作品和我的应用程序因异常而崩溃:|我的类是从片段延伸

public void onClick(View v) { 
    HashMap postData = new HashMap(); 
    PostResponseAsyncTask task = new PostResponseAsyncTask(this,postData); 
    task.execute("http://ashna.netau.net/A_location.php"); 
} 
+0

从片段调用传递上下文 – user3040153

+0

getActivity()是上下文 – Sasi

+1

'Nothing works'它究竟如何工作?崩溃?没有编译?或者是什么? –

你的功能onClick()可能实现其中包含像getActivity()getContext()无功能的接口View.OnClickListener的对象的内部。 尝试以下操作:

final Context context = getActivity(); 
View.OnCLickListner mListener = new View.OnClickListener() { 
    public void onClick(View v) { 
     HashMap postData = new HashMap(); 
     PostResponseAsyncTask task = new PostResponseAsyncTask(context,postData); 
     task.execute("http://ashna.netau.net/A_location.php"); 
    } 
} 
+0

或者只是通过“MapsActivity.this.getActivity()” – JacksOnF1re

试试这个:

PostResponseAsyncTask task = new PostResponseAsyncTask(v.getContext(),postData); 
+0

调用上下文什么是第一个参数中的v? – SFAH

+0

onClick(查看v) – JacksOnF1re

+0

是的,来自onClick的第一个参数..您可以重命名它并使用它从中获取上下文。 –

您可以创建应用程序类,并在这里面创建的应用程序变量的全局实例。因此,您可以从应用程序的任何位置访问应用程序上下文。

+0

尽管这是正确的,但这个答案不会帮助他/她理解潜在的问题。 – JacksOnF1re