Android 以编程方式添加textView;无法应用textView anonymous.okhttp3.Callback

Android 以编程方式添加textView;无法应用textView anonymous.okhttp3.Callback,android,json,android-layout,Android,Json,Android Layout,我正在尝试从应用程序返回的api中获取结果,这样每个api都将位于自己的textView。稍后,我还想为每个应用程序添加一个按钮,但现在我只是想在我的应用程序上显示结果。在我的try语句中,除了第行final TextView rowTextView=new TextView(this)之外,一切似乎都很好。这个给了我一个错误(用红色下划线标出),说TextView android.content.Context TextView不能匿名应用。okhttp3.Callback。我真的不确定出了什

我正在尝试从应用程序返回的api中获取结果,这样每个api都将位于自己的
textView
。稍后,我还想为每个应用程序添加一个按钮,但现在我只是想在我的应用程序上显示结果。在我的
try
语句中,除了第行
final TextView rowTextView=new TextView(this)
之外,一切似乎都很好。这个
给了我一个错误(用红色下划线标出),说
TextView android.content.Context TextView不能匿名应用。okhttp3.Callback
。我真的不确定出了什么问题以及如何解决它。我将感谢任何帮助!谢谢这是我的密码:

OkHttpClient client = new OkHttpClient();

                    MediaType mediaType = MediaType.parse("application/octet-stream");
                    RequestBody body = RequestBody.create(mediaType, "{}");
                    Request request = new Request.Builder().url(url).get().build();


                            client.newCall(request).enqueue(new Callback() {
                                @Override public void onFailure(Call call, IOException e) {
                                    e.printStackTrace();

                                }

                                @Override public void onResponse(Call call, Response response) throws IOException {

                                    Headers responseHeaders = response.headers();
                                    for (int i = 0, size = responseHeaders.size(); i < size; i++) {
                                        System.out.println(responseHeaders.name(i) + ": " + responseHeaders.value(i));
                                    }

                                    //System.out.println(response.body().string());
                                    //System.out.println(response.body().toString());
                                    String jsonData  = response.body().string();
                                    try {
                                        JSONObject Jobject = new JSONObject(jsonData);
                                        JSONArray Jarray = Jobject.getJSONArray("results");
                                        final TextView[] myTextViews = new TextView[Jarray.length()];
                                        for (int i = 0; i < Jarray.length(); i++) {
                                            JSONObject object = Jarray.getJSONObject(i);
                                            System.out.println(object.toString());
                                            final TextView rowTextView = new TextView(this);
                                            rowTextView.setText(object.toString());
                                        }
                                    }catch (JSONException e) {
                                        e.printStackTrace();
                                        Log.e("MYAPP", "unexpected JSON exception", e);

                                    }


                                }
                            });
OkHttpClient=new-OkHttpClient();
MediaType MediaType=MediaType.parse(“应用程序/八位字节流”);
RequestBody=RequestBody.create(mediaType,{});
Request Request=newrequest.Builder().url(url.get().build();
client.newCall(request).enqueue(new Callback()){
@覆盖公共void onFailure(调用,IOE异常){
e、 printStackTrace();
}
@重写公共void onResponse(调用调用、响应响应)引发IOException{
Headers responseHeaders=response.Headers();
for(int i=0,size=responseHeaders.size();i
此代码:

最终文本视图行文本视图=新文本视图(此); rowTextView.setText(object.toString())

毫无意义。您可以创建
TextView
,这很好。然后设置一些文本。好啊但是展示它呢?TextView只是一个对象,它本身并没有神奇的效果。我建议您将文本视图添加到布局中(如果需要隐藏),然后设置消息并在有时间时显示

编辑


您的代码也将不起作用,因为
新文本视图(this)
中的
指的是
okhttp3.回调
,而不是
上下文
(即您的活动)

在您的示例中,“this”是anonymous.okhttp3.Callback类的实例,请使用类似“YourFragmentClass.this.getActivity()”的内容。

我没有编写任何代码来显示它,因为我在使用新文本视图(this)时遇到了问题
部分,并尝试首先解决该问题。我的类称为
搜索
,它扩展了
片段
;我尝试将其更改为“Search.this”,但现在它表示它不能应用于SearchTextView构造函数参数应该是上下文类的实例,您可以使用“getActivity()”方法从片段实例获取它。我更新了原始答案。请不要污损你自己的帖子。