如何通过点击按钮调用Loader?

时间:2014-11-14 22:23:34

标签: android loader

我使用Loader从我的数据库加载数据...
当我的活动开始时...加载程序正确调用asynctask ...
但是当我点击按钮时,我不知道如何加载数据!

如果" onCreateLoader",在活动开始时自动调用,怎么避免?

解决:
使用FragmentActivity ...
使用了forceload()因为loadInBackgroung没有用! 使用了getSupportLoaderManager(),因为getLoaderManager()也没有工作 因为据说图书馆有问题! 但是......我不知道......我不相信,但...... 现在,它的作品! :P

public void onClick(View v) {

    switch(v.getId()){

    case R.id.button:           

        if(getSupportLoaderManager().getLoader(0) == null){
            getSupportLoaderManager().initLoader(0, null, this).forceLoad();
        }else{
            getSupportLoaderManager().restartLoader(0, null, this).forceLoad();
        }
        break;

    case R.id.another:
        Toast.makeText(this, "another", Toast.LENGTH_SHORT).show();
        break;

    }

}

1 个答案:

答案 0 :(得分:3)

点击按钮时,只需致电restartLoader

button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        getLoaderManager().restartLoader(YOUR_LOADER_ID, null, mYourLoaderCallbacks);
    }
});