[英]I Cannot use viewgroup in Baseadapter in Android
我正在嘗試在BaseAdapter中使用Viewgroup。 這是我的代碼
private ViewGroup createAnimLayout() {
ViewGroup rootView = (ViewGroup) this.getWindow().getDecorView();
LinearLayout animLayout = new LinearLayout(con);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);
但是我在this.getWindow()
中this.getWindow()
錯誤,例如“無法解析方法getWindow()”。 如何在Baseadpater中使用它。 但是它正在活動中工作。
在這樣的適配器中使用...
創建適配器的構造函數和activity的全局變量。
private Activity ref;
public MyAdapter(Activity ref){
this.ref=ref;
}
並像這樣使用...
private ViewGroup createAnimLayout() {
ViewGroup rootView = (ViewGroup) ref.getWindow().getDecorView();
LinearLayout animLayout = new LinearLayout(con);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);
注: -不是this
使用context
....
嘗試這個
((YourACtivity) getContext()).getWindow()
嘗試改變this
你MainActivity.this
或什么是你的類名Activity
。
這將使您的代碼看起來像:
private ViewGroup createAnimLayout() {
ViewGroup rootView = (ViewGroup) MainActivity.this.getWindow().getDecorView();
LinearLayout animLayout = new LinearLayout(con);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.