当前位置: 首页 > 面试题库 >

从片段中检索上下文

常彭薄
2023-03-14
问题内容

我创建了一个类,以从PHP文件的JSON编码中检索注释。此类从AsyncTask扩展:

public class RecuperarComentarisFoto extends AsyncTask<String, String, String>{

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pDialog = new ProgressDialog(????);
        pDialog.setMessage("Creating Product..");
        pDialog.setIndeterminate(false);
        pDialog.setCancelable(true);
        pDialog.show();
    }

    @Override
    protected String doInBackground(String... arg0) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    protected void onPostExecute(String result) {
        // TODO Auto-generated method stub
        super.onPostExecute(result);
    }

}

如您所见,我正在尝试在“
doInBackground”过程运行时显示一个ProgressDialog。但是progressDialog构造函数要求一个Context,但我不知道如何提供它。

我从Fragment调用此类,所以无法访问这样的上下文:

pDialog = new ProgressDialog(MyFragmentA.context);

“主要”活动称为:AndroidViewPagerActivity,它扩展了FragmentActivity。

(主要是指创建选项卡并管理它们之间的导航。)

这是它的代码:

public class AndroidViewPagerActivity extends FragmentActivity {
ViewPager mViewPager;
TabsAdapter mTabsAdapter;


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mViewPager = new ViewPager(this);
    mViewPager.setId(R.id.pager);
    setContentView(mViewPager);

    final ActionBar bar = getActionBar();
    bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    bar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_HOME);
    bar.hide();

    mTabsAdapter = new TabsAdapter(this, mViewPager);
    mTabsAdapter.addTab(bar.newTab().setText("Fragment A"), MyFragmentA.class, null);

    if (savedInstanceState != null) {
        bar.setSelectedNavigationItem(savedInstanceState.getInt("tab", 0));
    }

}

如何访问上下文?我应该使用哪个上下文?“ AndroidViewPagerActivity”上下文?那么如何从片段访问其上下文呢?

谢谢。

塞尔吉


问题答案:

getActivity()在内部使用可以传递Fragment一个Context。可以正常运作,因为Activity继承自Context

或者,您可以使用getApplicationContext()获取Context



 类似资料:
  • 问题内容: 我发现一个答案似乎表明我应该创建一个单独的类,并创建一个静态MyApplication对象,并创建一个get方法。然后,任何类都可以调用MyApplication.get()来检索上下文。 还有其他更清洁的方法吗?这是我的情况: 我有一个类A和一个类B。类A包含一个来自类B的对象(我们称为对象b)。在AI类中,称为“ b.play()”。但是,我得到一个空指针异常,因为类B需要将上下文

  • 问题内容: 如何获取片段中的上下文? 我需要用我的数据库其构造函数采用的背景下,但并没有工作,所以我能做些什么? 数据库构造函数 问题答案: 你可以使用,返回与关联的活动。 活动是(自扩展以来)。

  • 有人有教程来实现使用支持库v7(appcomat_v7)的片段中的CAB吗? 我不知道该怎么做,我找不到一个教程来解释一个片段中的实现和使用支持库。 谢谢你的阅读。

  • 我有一个,它创建一个,然后这个创建另一个: 这让我想到。是否真的可以删除并转到? 提前感谢您的时间,我在网上找不到任何合适的信息!

  • 我在过去的两个小时里一直在试图解决这个问题。试过很多东西。 该片段似乎正在向我的适配器传递空上下文。我尝试在onCreate和onCreateView和onActivityCreated中初始化上下文变量。同样的结果。

  • 问题内容: 我有一个CollectionView,我正在使用Firebase Storage中的图像进行填充。我将图像存储在“ userId”节点下。我想检查节点下可用的大量文件是否存在,因此可以将它们存储在数组中。 我试图分别为每个URL检索URL,但是,我认为这是一种非常错误的方法。但是,我不知道如何以最有效的方式做到这一点以及放在哪里。这是我所做的: 另外,将图像作为NSData来获取是否比