单击返回按钮android.R.id.home时未调用OnOptions ItemSelected方法

单击返回按钮android.R.id.home时未调用OnOptions ItemSelected方法,android,android-studio,android-fragments,Android,Android Studio,Android Fragments,我有一个带有单个活动(HomeActivity)和3个片段的应用程序。当我从主片段遍历到第二个片段时,我用后退按钮(setDisplayHomeAsUpEnabled(true))替换Hammburger图标。但当我按后退按钮时,它什么也不做,甚至没有调用OnOptions ItemSelected()方法。我花了一整天的时间来处理这个错误。请帮助 清单文件 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:andro

我有一个带有单个活动(HomeActivity)和3个片段的应用程序。当我从主片段遍历到第二个片段时,我用后退按钮(
setDisplayHomeAsUpEnabled(true)
)替换Hammburger图标。但当我按后退按钮时,它什么也不做,甚至没有调用
OnOptions ItemSelected()
方法。我花了一整天的时间来处理这个错误。请帮助

清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.propelbit.jaydeepsaress">

    <uses-permission android:name="android.permission.INTERNET" />

    <!-- Include following permission if you want to cache images on SD card -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


    <application
        android:name="com.propelbit.jaydeepsaress.JaydeepSarees"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".ui.activity.HomeActivity"
            android:parentActivityName=".ui.activity.HomeActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.propelbit.jaydeepsaress.ui.activity.HomeActivity"/>

        </activity>
    </application>

</manifest>
HomeFragment

package com.propelbit.jaydeepsaress.ui.fragment;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.CoordinatorLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;

import com.propelbit.jaydeepsaress.R;
import com.propelbit.jaydeepsaress.ui.activity.HomeActivity;

/**
 * Created by ankit on 05/09/16.
 */
public class HomeFragment extends Fragment implements View.OnClickListener {


    private Button btnDyedWork, btnFancyPrint, btnBridalcollection, btnBlouse;

    private LinearLayout linearTypeDyedWork, linearTypeFancyPrint;

    private boolean flagDyedWork = false;
    private boolean flagFancyPrint = false;


    private Button btnDyedWorkCatalogue;

    CoordinatorLayout.Behavior behavior;


    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        View vi = inflater.inflate(R.layout.fragment_home, container, false);

        btnDyedWork = (Button) vi.findViewById(R.id.btn_dyed_work);
        btnFancyPrint = (Button) vi.findViewById(R.id.btn_fancy_print);

        btnDyedWork.setOnClickListener(this);

        linearTypeDyedWork = (LinearLayout) vi.findViewById(R.id.type_dyed_work);
        linearTypeFancyPrint = (LinearLayout) vi.findViewById(R.id.type_fancy_print);

        btnDyedWorkCatalogue = (Button) vi.findViewById(R.id.btn_dyed_work_catalogue);
        btnDyedWorkCatalogue.setOnClickListener(this);


        return vi;    }


    public void onClick (View v){

        switch (v. getId()){
            case R.id.btn_dyed_work:

                 if(!flagDyedWork){
                    linearTypeDyedWork.setVisibility(View.VISIBLE);
                    linearTypeFancyPrint.setVisibility(View.GONE);
                    flagDyedWork=true;
                    flagFancyPrint=false;
                    btnDyedWork.setCompoundDrawablesWithIntrinsicBounds(null,null,getResources().getDrawable(R.drawable.ic_keyboard_arrow_up),null);

                  }else{
                    linearTypeDyedWork.setVisibility(View.GONE);
                    linearTypeFancyPrint.setVisibility(View.GONE);
                    flagDyedWork=false;
                    flagFancyPrint=false;
                    btnDyedWork.setCompoundDrawablesWithIntrinsicBounds(null,null,getResources().getDrawable(R.drawable.ic_keyboard_arrow_down),null);
                }

                break;
            case R.id.btn_fancy_print:

                 if(!flagFancyPrint){
                    linearTypeDyedWork.setVisibility(View.VISIBLE);
                    linearTypeFancyPrint.setVisibility(View.GONE);
                    flagFancyPrint=true;
                    flagDyedWork=false;
                    btnFancyPrint.setCompoundDrawablesWithIntrinsicBounds(null,null,getResources().getDrawable(R.drawable.ic_keyboard_arrow_up),null);
                  }else{
                    linearTypeDyedWork.setVisibility(View.GONE);
                    linearTypeFancyPrint.setVisibility(View.GONE);
                    flagFancyPrint=false;
                    flagDyedWork=false;
                    btnFancyPrint.setCompoundDrawablesWithIntrinsicBounds(null,null,getResources().getDrawable(R.drawable.ic_keyboard_arrow_down),null);
                }

                break;
            case R.id.btn_dyed_work_catalogue:

                Bundle  bundle=new Bundle();
                bundle.putString("category_id","1");

                CatalogueFragment cf=new CatalogueFragment();
                cf.setArguments(bundle);
                FragmentManager fm=getActivity().getSupportFragmentManager();
                FragmentTransaction ft=fm.beginTransaction();

                ft.replace(R.id.content_frame,cf,"catalogue_fragment");
                //ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
                ft.addToBackStack(null);
                ft.commit();

                break;

        }
    }

}
package com.propelbit.jaydeepsaress.ui.fragment;

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.GridView;
import android.widget.TextView;

import com.propelbit.jaydeepsaress.R;
import com.propelbit.jaydeepsaress.core.cons.Constants;
import com.propelbit.jaydeepsaress.core.parser.JsonParser;
import com.propelbit.jaydeepsaress.core.pojo.CatalogueDetails;
import com.propelbit.jaydeepsaress.ui.activity.HomeActivity;
import com.propelbit.jaydeepsaress.ui.adapter.AdapterCatalogue;

import org.json.JSONException;

import java.io.IOException;
import java.util.ArrayList;
import java.util.concurrent.TimeUnit;

import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;

/**
 * Created by ankit on 07/09/16.
 */
public class CatalogueFragment extends Fragment {


    String categoryId;
    String serverResponse;
    GridView gridview;
    TextView noDataFound;
    ArrayList<CatalogueDetails> listCatalogue;
    AdapterCatalogue adapter;


    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setHasOptionsMenu(true);
        ((HomeActivity) getActivity()).toggle.setDrawerIndicatorEnabled(false);
        ((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View vi = inflater.inflate(R.layout.fragment_catalogue, container, false);

        if (this.getArguments() != null) {
            categoryId = this.getArguments().getString("category_id");
        }

        listCatalogue=new ArrayList<CatalogueDetails>();
        adapter=new AdapterCatalogue(getActivity(),listCatalogue);

        gridview = (GridView) vi.findViewById(R.id.gridview);
        noDataFound = (TextView) vi.findViewById(R.id.no_data_found);
        gridview.setAdapter(adapter);

        new GetCatalogueDetails().execute(Constants.BASE_URL+"getCatalogueDetails");
        return vi;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        Log.d("TAG",item.getItemId()+"");

        switch (item.getItemId()) {
            case android.R.id.home:
                Log.d("Called","Back Button");
                getActivity().onBackPressed();
                return true;
        }
        return super.onOptionsItemSelected(item);
    }


    private class GetCatalogueDetails extends AsyncTask<String, String, String> {

        @Override
        protected String doInBackground(String... params) {

            try {
                OkHttpClient.Builder builder = new OkHttpClient.Builder();
                builder.readTimeout(60, TimeUnit.SECONDS);

                Log.d("CatalogueF",categoryId);
                OkHttpClient client = builder.build();
                RequestBody formBody = new FormBody.Builder()
                        .add("category_id", categoryId)
                        .build();

                Request request = new Request.Builder()
                        .url(params[0])
                        .post(formBody)
                        .build();

                Response response = null;

                response = client.newCall(request).execute();

                serverResponse = response.body().string();
                Log.d("response", serverResponse);

                return JsonParser.parseResponseCode(serverResponse);
            } catch (IOException e) {
                e.printStackTrace();
                return "102";
            } catch (JSONException e) {
                e.printStackTrace();
                return "103";
            }
        }

        @Override
        protected void onPostExecute(String responseCode) {
            try {
                if (responseCode.equals("100")) {
                    ArrayList<CatalogueDetails> temp= JsonParser.parseCatalogueDetails(serverResponse);

                    int size=temp.size();

                    Log.d("size",size+""+temp.get(0).getCatalogueName());

                    if(size>0){
                        listCatalogue.addAll(temp);
                        Log.d("listCatalogue",listCatalogue.size()+"");
                        gridview.setVisibility(View.VISIBLE);
                        noDataFound.setVisibility(View.GONE);

                        adapter.notifyDataSetChanged();
                    }else{
                        gridview.setVisibility(View.GONE);
                        noDataFound.setVisibility(View.VISIBLE);
                        noDataFound.setText("No data found");
                    }
                }else if(responseCode.equals("101")){
                    gridview.setVisibility(View.GONE);
                    noDataFound.setVisibility(View.VISIBLE);
                    noDataFound.setText("SQL Exception.Please try again");
                }else if(responseCode.equals("102")){
                    gridview.setVisibility(View.GONE);
                    noDataFound.setVisibility(View.VISIBLE);
                    noDataFound.setText("IO Exception.Please try again");
                }else if(responseCode.equals("103")){
                    gridview.setVisibility(View.GONE);
                    noDataFound.setVisibility(View.VISIBLE);
                    noDataFound.setText("JSON Exception.Please try again.");
                }


            } catch (JSONException e) {
                e.printStackTrace();
                gridview.setVisibility(View.GONE);
                noDataFound.setVisibility(View.VISIBLE);
                noDataFound.setText("JSON Exception..Please try again.");
            }

        }
    }
}
目录标签

package com.propelbit.jaydeepsaress.ui.fragment;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.CoordinatorLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;

import com.propelbit.jaydeepsaress.R;
import com.propelbit.jaydeepsaress.ui.activity.HomeActivity;

/**
 * Created by ankit on 05/09/16.
 */
public class HomeFragment extends Fragment implements View.OnClickListener {


    private Button btnDyedWork, btnFancyPrint, btnBridalcollection, btnBlouse;

    private LinearLayout linearTypeDyedWork, linearTypeFancyPrint;

    private boolean flagDyedWork = false;
    private boolean flagFancyPrint = false;


    private Button btnDyedWorkCatalogue;

    CoordinatorLayout.Behavior behavior;


    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        View vi = inflater.inflate(R.layout.fragment_home, container, false);

        btnDyedWork = (Button) vi.findViewById(R.id.btn_dyed_work);
        btnFancyPrint = (Button) vi.findViewById(R.id.btn_fancy_print);

        btnDyedWork.setOnClickListener(this);

        linearTypeDyedWork = (LinearLayout) vi.findViewById(R.id.type_dyed_work);
        linearTypeFancyPrint = (LinearLayout) vi.findViewById(R.id.type_fancy_print);

        btnDyedWorkCatalogue = (Button) vi.findViewById(R.id.btn_dyed_work_catalogue);
        btnDyedWorkCatalogue.setOnClickListener(this);


        return vi;    }


    public void onClick (View v){

        switch (v. getId()){
            case R.id.btn_dyed_work:

                 if(!flagDyedWork){
                    linearTypeDyedWork.setVisibility(View.VISIBLE);
                    linearTypeFancyPrint.setVisibility(View.GONE);
                    flagDyedWork=true;
                    flagFancyPrint=false;
                    btnDyedWork.setCompoundDrawablesWithIntrinsicBounds(null,null,getResources().getDrawable(R.drawable.ic_keyboard_arrow_up),null);

                  }else{
                    linearTypeDyedWork.setVisibility(View.GONE);
                    linearTypeFancyPrint.setVisibility(View.GONE);
                    flagDyedWork=false;
                    flagFancyPrint=false;
                    btnDyedWork.setCompoundDrawablesWithIntrinsicBounds(null,null,getResources().getDrawable(R.drawable.ic_keyboard_arrow_down),null);
                }

                break;
            case R.id.btn_fancy_print:

                 if(!flagFancyPrint){
                    linearTypeDyedWork.setVisibility(View.VISIBLE);
                    linearTypeFancyPrint.setVisibility(View.GONE);
                    flagFancyPrint=true;
                    flagDyedWork=false;
                    btnFancyPrint.setCompoundDrawablesWithIntrinsicBounds(null,null,getResources().getDrawable(R.drawable.ic_keyboard_arrow_up),null);
                  }else{
                    linearTypeDyedWork.setVisibility(View.GONE);
                    linearTypeFancyPrint.setVisibility(View.GONE);
                    flagFancyPrint=false;
                    flagDyedWork=false;
                    btnFancyPrint.setCompoundDrawablesWithIntrinsicBounds(null,null,getResources().getDrawable(R.drawable.ic_keyboard_arrow_down),null);
                }

                break;
            case R.id.btn_dyed_work_catalogue:

                Bundle  bundle=new Bundle();
                bundle.putString("category_id","1");

                CatalogueFragment cf=new CatalogueFragment();
                cf.setArguments(bundle);
                FragmentManager fm=getActivity().getSupportFragmentManager();
                FragmentTransaction ft=fm.beginTransaction();

                ft.replace(R.id.content_frame,cf,"catalogue_fragment");
                //ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
                ft.addToBackStack(null);
                ft.commit();

                break;

        }
    }

}
package com.propelbit.jaydeepsaress.ui.fragment;

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.GridView;
import android.widget.TextView;

import com.propelbit.jaydeepsaress.R;
import com.propelbit.jaydeepsaress.core.cons.Constants;
import com.propelbit.jaydeepsaress.core.parser.JsonParser;
import com.propelbit.jaydeepsaress.core.pojo.CatalogueDetails;
import com.propelbit.jaydeepsaress.ui.activity.HomeActivity;
import com.propelbit.jaydeepsaress.ui.adapter.AdapterCatalogue;

import org.json.JSONException;

import java.io.IOException;
import java.util.ArrayList;
import java.util.concurrent.TimeUnit;

import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;

/**
 * Created by ankit on 07/09/16.
 */
public class CatalogueFragment extends Fragment {


    String categoryId;
    String serverResponse;
    GridView gridview;
    TextView noDataFound;
    ArrayList<CatalogueDetails> listCatalogue;
    AdapterCatalogue adapter;


    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setHasOptionsMenu(true);
        ((HomeActivity) getActivity()).toggle.setDrawerIndicatorEnabled(false);
        ((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View vi = inflater.inflate(R.layout.fragment_catalogue, container, false);

        if (this.getArguments() != null) {
            categoryId = this.getArguments().getString("category_id");
        }

        listCatalogue=new ArrayList<CatalogueDetails>();
        adapter=new AdapterCatalogue(getActivity(),listCatalogue);

        gridview = (GridView) vi.findViewById(R.id.gridview);
        noDataFound = (TextView) vi.findViewById(R.id.no_data_found);
        gridview.setAdapter(adapter);

        new GetCatalogueDetails().execute(Constants.BASE_URL+"getCatalogueDetails");
        return vi;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        Log.d("TAG",item.getItemId()+"");

        switch (item.getItemId()) {
            case android.R.id.home:
                Log.d("Called","Back Button");
                getActivity().onBackPressed();
                return true;
        }
        return super.onOptionsItemSelected(item);
    }


    private class GetCatalogueDetails extends AsyncTask<String, String, String> {

        @Override
        protected String doInBackground(String... params) {

            try {
                OkHttpClient.Builder builder = new OkHttpClient.Builder();
                builder.readTimeout(60, TimeUnit.SECONDS);

                Log.d("CatalogueF",categoryId);
                OkHttpClient client = builder.build();
                RequestBody formBody = new FormBody.Builder()
                        .add("category_id", categoryId)
                        .build();

                Request request = new Request.Builder()
                        .url(params[0])
                        .post(formBody)
                        .build();

                Response response = null;

                response = client.newCall(request).execute();

                serverResponse = response.body().string();
                Log.d("response", serverResponse);

                return JsonParser.parseResponseCode(serverResponse);
            } catch (IOException e) {
                e.printStackTrace();
                return "102";
            } catch (JSONException e) {
                e.printStackTrace();
                return "103";
            }
        }

        @Override
        protected void onPostExecute(String responseCode) {
            try {
                if (responseCode.equals("100")) {
                    ArrayList<CatalogueDetails> temp= JsonParser.parseCatalogueDetails(serverResponse);

                    int size=temp.size();

                    Log.d("size",size+""+temp.get(0).getCatalogueName());

                    if(size>0){
                        listCatalogue.addAll(temp);
                        Log.d("listCatalogue",listCatalogue.size()+"");
                        gridview.setVisibility(View.VISIBLE);
                        noDataFound.setVisibility(View.GONE);

                        adapter.notifyDataSetChanged();
                    }else{
                        gridview.setVisibility(View.GONE);
                        noDataFound.setVisibility(View.VISIBLE);
                        noDataFound.setText("No data found");
                    }
                }else if(responseCode.equals("101")){
                    gridview.setVisibility(View.GONE);
                    noDataFound.setVisibility(View.VISIBLE);
                    noDataFound.setText("SQL Exception.Please try again");
                }else if(responseCode.equals("102")){
                    gridview.setVisibility(View.GONE);
                    noDataFound.setVisibility(View.VISIBLE);
                    noDataFound.setText("IO Exception.Please try again");
                }else if(responseCode.equals("103")){
                    gridview.setVisibility(View.GONE);
                    noDataFound.setVisibility(View.VISIBLE);
                    noDataFound.setText("JSON Exception.Please try again.");
                }


            } catch (JSONException e) {
                e.printStackTrace();
                gridview.setVisibility(View.GONE);
                noDataFound.setVisibility(View.VISIBLE);
                noDataFound.setText("JSON Exception..Please try again.");
            }

        }
    }
}
package com.propelbit.jaydepsaress.ui.fragment;
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.support.annotation.Nullable;
导入android.support.v4.app.Fragment;
导入android.support.v7.app.AppActivity;
导入android.util.Log;
导入android.view.LayoutInflater;
导入android.view.MenuItem;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.GridView;
导入android.widget.TextView;
导入com.propelbit.jaydepsares.R;
导入com.propelbit.jaydepsaress.core.cons.Constants;
导入com.propelbit.jaydepsaress.core.parser.JsonParser;
导入com.propelbit.jaydepsaress.core.pojo.catalogeDetails;
导入com.propelbit.jaydepsaress.ui.activity.HomeActivity;
导入com.propelbit.jaydepsaress.ui.adapter.AdapterCatalogue;
导入org.json.JSONException;
导入java.io.IOException;
导入java.util.ArrayList;
导入java.util.concurrent.TimeUnit;
导入okhttp3.FormBody;
导入okhttp3.OkHttpClient;
导入okhttp3.请求;
导入okhttp3.RequestBody;
导入okhttp3.响应;
/**
*由ankit于2016年9月7日创建。
*/
公共类编目扩展片段{
字符串类别;
字符串服务器响应;
GridView;
发现文本视图节点;
ArrayList目录;
适配器催化剂适配器;
@凌驾
创建时的公共void(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
设置选项菜单(真);
((HomeActivity)getActivity()).toggle.setDrawerIndicatorEnabled(false);
((AppCompatActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@可空
@凌驾
创建视图时的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){
视图vi=充气机。充气(R.layout.fragment_目录,容器,假);
if(this.getArguments()!=null){
categoryId=this.getArguments().getString(“category_id”);
}
ListCatalog=新的ArrayList();
适配器=新适配器目录(getActivity(),ListCatalog);
gridview=(gridview)vi.findViewById(R.id.gridview);
noDataFound=(TextView)vi.findViewById(R.id.no\u data\u found);
setAdapter(适配器);
新建getCatalogeDetails().execute(Constants.BASE_URL+“getCatalogeDetails”);
返回vi;
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
Log.d(“TAG”,item.getItemId()+”);
开关(item.getItemId()){
案例android.R.id.home:
Log.d(“调用”、“返回按钮”);
getActivity().onBackPressed();
返回true;
}
返回super.onOptionsItemSelected(项目);
}
私有类GetCatalogeDetails扩展异步任务{
@凌驾
受保护的字符串doInBackground(字符串…参数){
试一试{
OkHttpClient.Builder=新的OkHttpClient.Builder();
builder.readTimeout(60,TimeUnit.SECONDS);
Log.d(“catalogef”,categoryId);
OkHttpClient=builder.build();
RequestBody formBody=new formBody.Builder()
.添加(“类别id”,类别id)
.build();
Request Request=newrequest.Builder()
.url(参数[0])
.职位(表格)
.build();
响应=空;
response=client.newCall(request.execute();
serverResponse=response.body().string();
Log.d(“响应”,serverResponse);
返回JsonParser.parseResponseCode(serverResponse);
}捕获(IOE异常){
e、 printStackTrace();
返回“102”;
}捕获(JSONException e){
e、 printStackTrace();
返回“103”;
}
}
@凌驾
受保护的void onPostExecute(字符串响应代码){
试一试{
如果(响应代码等于(“100”)){
ArrayList temp=JsonParser.ParseCatalogeDetails(serverResponse);
int size=temp.size();
Log.d(“大小”,大小+“”+temp.get(0.getCatalogename());
如果(大小>0){
ListCatalog.addAll(临时);
Log.d(“ListCatalog”,ListCatalog.size()+”);
设置可见性(View.VISIBLE);
noDataFound.setVisibility(View.GONE);
adapter.notifyDataSetChanged();
}否则{
设置可见性(View.GONE);
noDataFound.setVisibility(View.VISIBLE);
setText(“未找到数据”);
}
}else if(响应代码等于(“101”)){
设置可见性(View.GONE);
noDataFound.setVisibility(View.VISIBLE);
noDataFound.setText(“SQL异常,请重试”);
}else if(响应代码等于(“102”)){
设置可见性(View.GONE);
noDataFound.setVisibility(View.VISIBLE);
诺达发现
((YourActivityName)getActivity()).onBackPressed();
Log.d(TAG, "Your message");
// Add the backstack listener
getSupportFragmentManager().addOnBackStackChangedListener(this);

// Handle clicks on the up arrow since this isnt handled by the
        toggle.setToolbarNavigationClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                FragmentManager fm = getSupportFragmentManager();

                // Pop the backstack all the way back to the initial fragment. Customize if needed
                //fm.popBackStack(fm.getBackStackEntryAt(0).getName(), FragmentManager.POP_BACK_STACK_INCLUSIVE);

                if(fm.getBackStackEntryCount() > 0) {
                    fm.popBackStack();
                    toggle.setDrawerIndicatorEnabled(false);
                    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
                    drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
                } else {
                    getSupportActionBar().setDisplayHomeAsUpEnabled(false);
                    toggle.setDrawerIndicatorEnabled(true);
                    drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
                }

            }
        });


/**
 * Called everytime we add or remove something from the backstack
 */
@Override
public void onBackStackChanged() {

    if(getSupportFragmentManager().getBackStackEntryCount() > 0) {
        Log.d("Called >0","false");
        toggle.setDrawerIndicatorEnabled(false);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
    } else {
        Log.d("Called <0","true");
        getSupportActionBar().setDisplayHomeAsUpEnabled(false);
        toggle.setDrawerIndicatorEnabled(true);
        drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
    }
}

/**
 * If you need to move backwards inside the app using the back button, and want to override the
 * the default behaviour which could take you outside the app before you've popped the entire stack
 */
@Override
public void onBackPressed() {
    if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
        getSupportFragmentManager().popBackStackImmediate();
    } else {
        super.onBackPressed();
    }
}