嗨,我是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
关键字。