Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
onPause不会在我的listActivity-Android中启动_Android_Gridview_Listactivity_Onpause - Fatal编程技术网

onPause不会在我的listActivity-Android中启动

onPause不会在我的listActivity-Android中启动,android,gridview,listactivity,onpause,Android,Gridview,Listactivity,Onpause,我在ListActivity中有一个GridView,我需要GridView在释放资源时销毁自己。单击项目时,从不调用onPause和onDestroy。我怎么让它们着火?这是我的密码: public class ViewOutfitsActivity extends ListActivity { public static final String TAG = ChooseStickersActivity.class.getSimpleName(); private int

我在ListActivity中有一个GridView,我需要GridView在释放资源时销毁自己。单击项目时,从不调用onPause和onDestroy。我怎么让它们着火?这是我的密码:

public class ViewOutfitsActivity extends ListActivity {

    public static final String TAG = ChooseStickersActivity.class.getSimpleName();
    private int mMenuId;
    dbhelper db;
    List<Outfit> mListContents;
    Context ctx;

    private void setMmenuId() {
        mMenuId = 0;
        // You can be pretty confident that the intent will not be null here.
        Intent intent = getIntent();

        // Get the extras (if there are any)
        Bundle extras = intent.getExtras();
        if (extras != null) {
            if (extras.containsKey("menuId")) {
                mMenuId = extras.getInt("menuId");
            }
        }
    }

    private void finishMyActivity(){
        this.finish();
    }

    @Override
    protected void onPause() {
        GridView gridView = (GridView) findViewById(R.id.gridviewViewOutfits);
        int count = gridView.getCount();
        for (int i = 0; i < count; i++) {
            ImageView v = (ImageView) gridView.getChildAt(i);
            if (v != null) {
                if (v.getDrawable() != null) v.getDrawable().setCallback(null);
            }
        }
        super.onPause();
    }

    @Override
    protected void onDestroy() {
        GridView gridView = (GridView) findViewById(R.id.gridviewViewOutfits);
        int count = gridView.getCount();
        for (int i = 0; i < count; i++) {
            ImageView v = (ImageView) gridView.getChildAt(i);
            if (v != null) {
                if (v.getDrawable() != null) v.getDrawable().setCallback(null);
            }
        }
        super.onDestroy();
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_view_outfits);
        ctx = this.getApplicationContext();
        setMmenuId();
        GridView gridview = (GridView) findViewById(R.id.gridviewViewOutfits);
        ViewOutfitsImageAdapter ia = new ViewOutfitsImageAdapter(this.getApplicationContext(), mMenuId);
        gridview.setAdapter(ia);
        mListContents = ia.getMlistContents();
        gridview.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
                try {
                    String imagePath = getOutfitInternalPath(position);
                    String externalImagePath = getOutfitExternalPath(position);
                    passClothingItemToViewSingleOutfitActivity(imagePath, externalImagePath);
                    finishMyActivity();
                    finish();
                } catch (Exception e) {
                    Log.v(e.getMessage(), e.getMessage());
                }
            }

您是否已输入日志消息以确认这一点?我可以保证调用finish将调用onPause和onDestroy。很可能这些方法中的代码没有按您预期的方式运行。@Doomsknight我一直在调试程序中使用断点进行测试,以确认这一点。我想知道这是否是因为GriViews不应该出现在ListActivities中