我使用Tabwidget,Tab的实现方式与在教程中显示的相同
MainActivity -> Activity1 -> Activity2(给定图像)

现在,点击旋转器
android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@44eb8748 is not valid; is your activity running?我已经试过Android旋转错误: android.view.WindowManager$BadTokenException:无法添加窗口了,但这对我没有帮助
我知道的上下文有问题,但是我不知道是什么
听是我的意图,开始DetailActivity
intent = new Intent(getParent(), DetailActivity.class);
TabGroupActivity parentActivity = (TabGroupActivity)getParent();
parentActivity.startChildActivity("SelectActivity", intent);我给出的DetailActivity代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.package_detail);
setUpViews();
id = getIntent().getExtras().getInt("WEBSITE_ID");
adapter = new KeywordAdapter(getApplicationContext(), id,
getLNApplication().getKeyworddetail());
listTags.setAdapter(adapter);
spinneAdapter = new SpinnerListAdapter();
spinnerList.setAdapter(spinneAdapter);
spinnerList.setSelection(id, true);
spinnerList
.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent,
View view, int position, long id) {
// txtHeader.setText(getLNApplication().getWebsiteList()
// .get(position).getName());
adapter.forceReload();
adapter = new KeywordAdapter(DetailActivity.this,
position, getLNApplication().getKeyworddetail());
listTags.setAdapter(adapter);
}
public void onNothingSelected(AdapterView<?> parent) {
}
});
}SpinnerAdapter代码
public class SpinnerListAdapter extends BaseAdapter {
private List<ClientDetail> siteList;
public SpinnerListAdapter() {
siteList = getLNApplication().getWebsiteList();
}
public void forceReload() {
notifyDataSetChanged();
}
@Override
public int getCount() {
return siteList.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return siteList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
// LayoutInflater inflater = (LayoutInflater) context
// .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// LayoutInflater inflater = getLayoutInflater();
// LayoutInflater inflater = LayoutInflater.from(DetailActivity.this.getParent());
LayoutInflater inflater = LayoutInflater.from(DetailActivity.this.getParent());
view = inflater.inflate(R.layout.spinner_item_display, null);
TextView websiteName = (TextView) view.findViewById(R.id.spinnerItem);
if (siteList.get(position).getName() != null) {
websiteName.setText(siteList.get(position).getName());
websiteName.setTextColor(0xFF000000);
}
return view;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
View view = convertView;
// LayoutInflater inflater = (LayoutInflater) context
// .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// LayoutInflater inflater = getLayoutInflater();
// LayoutInflater inflater = LayoutInflater.from(DetailActivity.this.getParent());
LayoutInflater inflater = LayoutInflater.from(DetailActivity.this.getParent());
view = inflater.inflate(R.layout.spinner_dropdown_display, null);
TextView websiteName = (TextView) view.findViewById(R.id.spinnerDropDownItem);
if (siteList.get(position).getName() != null) {
websiteName.setText(siteList.get(position).getName());
websiteName.setTextColor(0xFF000000);
}
return view;
}
}我做错什么了吗?
请帮我..。非常感谢
发布于 2012-02-03 09:16:09
发布于 2012-02-03 09:16:59
在Tab活动中,如果您提供任何警报对话框,那么在这种情况下,您已经设置了选项卡活动的上下文&而不是当前的活动对象。
而不是
adapter = new KeywordAdapter(getApplicationContext(),id,getLNApplication().getKeyworddetail());
listTags.setAdapter(adapter);请使用以下内容
adapter = new KeywordAdapter(Tabs.ctx,id,getLNApplication().getKeyworddetail());
listTags.setAdapter(adapter);其中Tabs.ctx是选项卡活动的上下文&这是静态变量。
发布于 2013-05-06 21:02:59
在TabWidget中,还可以使用以下代码解决此错误
View view = LayoutInflater.from(this.getParent()).inflate(R.layout.package_detail, null);
this.setContentView(view); https://stackoverflow.com/questions/9126112
复制相似问题