Android 吐司不露出来

Android 吐司不露出来,android,android-fragments,android-volley,android-alertdialog,Android,Android Fragments,Android Volley,Android Alertdialog,我正在使用截击进行网络通话 抽射请求中的吐司未显示。我不知道如何从片段中获取警报对话框中的上下文。所以,请给出如何在截击反应中打印吐司的解决方案 public class TiffinMenuFragment extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final AlertDialog.Builder alertdialog = new Ale

我正在使用截击进行网络通话


抽射请求中的吐司未显示。我不知道如何从片段中获取警报对话框中的上下文。所以,请给出如何在截击反应中打印吐司的解决方案

public class TiffinMenuFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    final AlertDialog.Builder alertdialog = new AlertDialog.Builder(getActivity());
        LayoutInflater inflater = (LayoutInflater) getActivity().getBaseContext()
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View v = inflater.inflate(R.layout.fragment_tiffinlayout, null);
    alertdialog.setView(v);
    alertdialog.setCancelable(false);


    final AlertDialog dialog = alertdialog.create();

    add.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(final View view) {
            String type=selectmenu.getSelectedItem().toString();
            Log.v("java1",type);


            String url_menu=UrlString.url_string;
            url_menu = url_menu.replace(" ", "%20");
            Log.v("url",url_menu);
            final StringRequest stringRequest=new StringRequest(Request.Method.GET, url_menu, new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    Log.v("Response",response);
                    JSONObject obj= null;
                    try {
                        obj = new JSONObject(response);
                        String objResponse=obj.getString("success");
                        Log.v("Response1",objResponse);
                        Toast.makeText(view.getContext(),"Task is Completed",Toast.LENGTH_LONG).show();
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                Log.v("type",error.getMessage());
                }
            });
            MySingleton.getInstance(getActivity().getApplicationContext()).addToRequestque(stringRequest);
            dialog.dismiss();

        }
    });
    cancle.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            dialog.dismiss();

        }
    });




    return dialog;

}
}
公共类TiffinMenuFragment扩展了DialogFragment{
@凌驾
创建对话框上的公共对话框(Bundle savedInstanceState){
final AlertDialog.Builder AlertDialog=新建AlertDialog.Builder(getActivity());
LayoutInflater充气器=(LayoutInflater)getActivity().getBaseContext()
.getSystemService(上下文布局\充气机\服务);
视图v=充气机。充气(R.layout.fragment\u tiffinlayout,null);
alertdialog.setView(v);
alertdialog.setCancelable(假);
最终AlertDialog=AlertDialog.create();
add.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(最终视图){
字符串类型=selectmenu.getSelectedItem().toString();
Log.v(“java1”,类型);
字符串url\u菜单=UrlString.url\u字符串;
url\u菜单=url\u菜单。替换(“,“%20”);
Log.v(“url”,url\u菜单);
final StringRequest StringRequest=new StringRequest(Request.Method.GET,url_菜单,new Response.Listener()){
@凌驾
公共void onResponse(字符串响应){
Log.v(“响应”,响应);
JSONObject对象j=null;
试一试{
obj=新的JSONObject(响应);
String objResponse=obj.getString(“成功”);
Log.v(“Response1”,objResponse);
Toast.makeText(view.getContext(),“任务已完成”,Toast.LENGTH_LONG.show();
}捕获(JSONException e){
e、 printStackTrace();
}
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Log.v(“type”,error.getMessage());
}
});
getInstance(getActivity().getApplicationContext()).addToRequestque(stringRequest);
dialog.dismise();
}
});
cancle.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
dialog.dismise();
}
});
返回对话框;
}
}
就这么做吧

Toast.makeText(getActivity(),"Text!",Toast.LENGTH_SHORT).show();

您在Toast中使用的上下文不正确

 Toast.makeText(getActivity(),"Task is Completed",Toast.LENGTH_LONG).show();

使用此选项。

您不能从后台线程触摸UI

要显示toast,请使用以下代码

activity.runOnUiThread(new Runnable() {
    public void run() {
        Toast.makeText(activity, "Hello", Toast.LENGTH_SHORT).show();
    }
});
或者请求失败,没有调用onResponse函数。

使用:

Toast.makeText(getActivity().getApplicationContext(),"Task is
Completed",Toast.LENGTH_LONG).show();

这是您收到的响应日志消息?欢迎使用StackOverflow!在发布问题之前,请阅读关于如何提问的用户指南(),感谢您设置
getActivity()
而不是
view.getContext()
是的,我收到日志消息@Mohammed Atifwhere您在使用TiffinMenuFragment吗?我从一个自定义适配器调用此片段这是一个后台进程,也是线程最终StringRequest StringRequest=new StringRequest(Request.Method.GET,url_菜单,new Response.Listener(){@Override public void onResponse(字符串响应){}后台操作通常称为线程,它不能触及UI。为此,您需要使用上述代码。请尝试学习一些对您有帮助的基类。虽然此代码可能会解决问题,但应始终添加解释,解释问题为什么/如何解决。而此代码可能会回答问题ion,提供关于如何和/或为什么解决问题的额外信息将提高答案的长期价值。请记住,你是在将来为读者回答问题,而不仅仅是现在提问的人!请在你的答案中添加解释,并说明适用的限制和假设。这也不重要我不想提及为什么这个答案比其他答案更合适。
Toast.makeText(getActivity().getApplicationContext(),"Task is
Completed",Toast.LENGTH_LONG).show();
  Toast.makeText(dialog.getActivity(),"Task is Completed",Toast.LENGTH_LONG).show();