Rei*_*erd 18 java android android-context android-asynctask android-fragments
我创建了一个类来从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);
}
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我正试图在"doInBackground"进程工作时显示ProgressDialog.但progressDialog构造函数,请求一个Context,我不知道如何提供它.
我从Fragment调用这个类,所以我不能像这样访问上下文:
pDialog = new ProgressDialog(MyFragmentA.context);
Run Code Online (Sandbox Code Playgroud)
称为"主要"活动: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));
}
}
Run Code Online (Sandbox Code Playgroud)
我如何访问上下文?我应该使用哪种上下文?"AndroidViewPagerActivity"上下文?那么如何从片段中访问其上下文?
谢谢.
塞尔吉
Hei*_*upp 44
getActivity()
在里面使用Fragment
获得Context
你可以传递的.这是有效的,Activity
继承自Context
.
作为替代,你可以getApplicationContext()
用来获得Context
.
归档时间: |
|
查看次数: |
42767 次 |
最近记录: |