我使用ViewPager LocalActivityManager加载Activity。当我想在Activitys中显示Dialog时.Error显示;似乎对话框中使用的上下文不适用,如何获得正确的上下文;
vp = (MyViewPager) recommendView.findViewById(R.id.vp);
views = new ArrayList<View>();
Intent i1 = new Intent(this, Activity1.class);
Intent i2 = new Intent(this, Activity2.class);
Intent i3 = new Intent(this, Activity3.class);
Intent i4 = new Intent(this, Activity4.class);
Intent i5 = new Intent(this, Activity5.class);
Intent i6 = new Intent(this, Activity6.class);
Intent i7 = new Intent(this, Activity7.class);
views.add(getView("1", i1));
views.add(getView("2", i2));
views.add(getView("3", i3));
views.add(getView("4", i4));
views.add(getView("5", i5));
views.add(getView("6", i6));
views.add(getView("7", i7));
adapter = new MyPageAdapter(views);
vp.setAdapter(adapter);
//getView Code
private View getView(String id, Intent intent) {
return manager.startActivity(id, intent).getDecorView();
}
//show dialog Code
bt2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Dialog dialog=new Dialog(Activity7.this);
dialog.setTitle("title");
dialog.show();
}
});
答案 0 :(得分:-1)
我不知道你写得对吗? 但从问题来看,我认为你可以尝试: 在内部活动中定义接口,例如;
public interface DealDialog{
public interface showDialog();
}
然后,在外部实现此接口(TabHost)。
你可以尝试一下。
抱歉,我的英语太糟糕了,抱歉。当你不明白时,你可以问我。