簡體   English   中英

我無法在Android的Baseadapter中使用視圖組

[英]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()

嘗試改變thisMainActivity.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM