今后专门记录自己在学习android中遇到的bug,
java.lang.IllegalArgumentException: View=android.widget.TextView{11d8a4e V.ED.... ......I. 48,130-312,229 #7f0c00ba app:id/title_item} not attached to window manager,
这是解决bug前的代码
View v = View.inflate(ThemeListActivity.this,R.layout.window_item,null);
btn= (TextView) v.findViewById(R.id.title_item);
v.setOnTouchListener(ThemeListActivity.this);
btn.setBackground(ThemeListActivity.this.getResources().getDrawable(R.drawable.nav_item_shape));
wmManager.addView(v,layoutparams);
自己想创建一个windowmananger,然后添加一个自定义的view上去,并让view能够跟随屏膜移动,
遇到的问题是自己写的布局是能够添加上去,结果移动的时候,就保这个错误,原因是自定义布局中的view移动,但是它的子控件没有移动,就会抱这个错误,解决方法就是,把自己代码创建一个view,然后添加到windowmananger上,代码如下
btn=newTextView(ThemeListActivity.this);
btn.setText("我的");
btn.setOnTouchListener(ThemeListActivity.this);
btn.setBackground(ThemeListActivity.this.getResources().getDrawable(R.drawable.nav_item_shape));
btn.setTextAlignment(View.TEXT_ALIGNMENT_CENTER); btn.setBackground(ThemeListActivity.this.getResources().getDrawable(R.drawable.nav_item_shape));
wmManager.addView(btn,layoutparams);
网友评论