嗨,我是android新手,我有一个看似很简单的问题,但我只是想了解一下我在网上找到的这段代码

通过使用Activity paramActivity指的是Activity上下文,为什么不使用activity .this?

承包商适配器是否可能包含超级适配器缺少的值?

public class myAdapter
      extends ArrayAdapter<String>
    {
      private final Activity context;
      private final String[] subtitleId;
      private final String[] titleId;

      public myAdapter(Activity paramActivity, String[] paramArrayOfString1,
      String[] paramArrayOfString2)
      {
        super(paramActivity, 2745458745 , paramArrayOfString1);
        this.context = paramActivity;
        this.titleId = paramArrayOfString1;
        this.subtitleId = paramArrayOfString2;
      }
   public View getView(int paramInt, View paramView, ViewGroup
   paramViewGroup)
  {
    View localView = this.context.getLayoutInflater().inflate(2745458745,
    null, true);
    TextView localTextView1 = (TextView)localView.findViewById(2131296514);
    TextView localTextView2 = (TextView)localView.findViewById(2131296502);
    localTextView1.setText(this.titleId[paramInt]);
    localTextView2.setText(this.subtitleId[paramInt]);
    return localView;
  }
}

最佳答案

通过使用Activity paramActivity指的是Activity上下文


假设您正在传递将AppCompatActivity扩展为参数的Activity ...

YourActivity扩展AppCompatActivity扩展FragmentActivity扩展BaseFragmentActivityApi16扩展BaseFragmentActivityApi14扩展SupportActivity扩展Activity扩展ContextThemeWrapper扩展ContextWrapper扩展Context

这听起来似乎太多了,但是请放心,您可以从这里获取的是可以将Activity转换为Context


  为什么不使用activity.this


要使用Activity.this,您必须具有Activity的类,该类将您编写该语句的地方包含在内,因为this引用该类的当前实例。

为了更清楚地说明您的状态,您应该在Java中查找this关键字。

09-30 23:29