【问题标题】:I Cannot use viewgroup in Baseadapter in Android我无法在 Android 的 Baseadapter 中使用视图组
【发布时间】:2016-11-05 06:15:23
【问题描述】:

我正在尝试在 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() 中遇到错误,例如“无法解析方法 getWindow()”。如何在 Baseadpater 中使用它。但它在活动中工作。

【问题讨论】:

  • 错误是什么?
  • 编辑中提到的错误
  • 我正在从这里执行动画。所以我正在使用它

标签: java android android-layout viewgroup android-viewgroup


【解决方案1】:

像这样在适配器中使用...

创建适配器的构造函数和活动的全局变量 ....

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 ....

【讨论】:

  • 你可以把context 传递给你adapter constructor 或者只是发布你的完整adapter 在这里我们可以告诉你.....
  • Context 类没有 getWindow() 方法,Activity 有它
  • @pskink 看看编辑答案............我想现在它正在运行......
【解决方案2】:

试试这个

((YourACtivity) getContext()).getWindow()

【讨论】:

    【解决方案3】:

    尝试将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);
    
        ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-18
      • 1970-01-01
      • 1970-01-01
      • 2020-03-18
      • 1970-01-01
      • 2013-07-17
      相关资源
      最近更新 更多