我的代码显示此错误... AdapterView是一种原始类型。应该为AdapterView参数化对泛型类型AdapterView的引用,我该怎么办?
public void onItemClick(AdapterView adapterview, View view, int i, long l) //*AdapterView is a raw type. References to generic type AdapterView<T> should be parameterized
{
((ImageView)b.findViewById(0x7f090000)).setImageResource(a.getResources().obtainTypedArray(0x7f050000).getResourceId(i, -1));
((Button)b.findViewById(0x7f090002)).setOnClickListener(new c(this, b));
((Button)b.findViewById(0x7f090003)).setOnClickListener(new d(this, i));
String s = a.getIntent().getAction();
if ("android.intent.action.GET_CONTENT".equals(s) || "android.intent.action.PICK".equals(s))
{
((Button)b.findViewById(0x7f090004)).setOnClickListener(new e(this, i, b));
}
b.show();
}
答案 0 :(得分:4)
这是因为这个AdapterView
可能是参数化的,这意味着在它的实现中,类型不会被强制,例如,String
或其他任何东西,但它是由用户定义的。
基本上警告(而不是错误)告诉你的是,AdapterView adapterview
而不是AdapterView<YourType> adapterview
,你必须将它设置为AdapterView
(所以你需要在这里放置你定义的类型声明中的{{1}}。