AdapterView是一种原始类型。对泛型类型AdapterView <t>的引用应该参数化</t>

时间:2014-01-25 18:08:02

标签: java android class apk

我的代码显示此错误... 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();
}

1 个答案:

答案 0 :(得分:4)

这是因为这个AdapterView可能是参数化的,这意味着在它的实现中,类型不会被强制,例如,String或其他任何东西,但它是由用户定义的。

基本上警告(而不是错误)告诉你的是,AdapterView adapterview而不是AdapterView<YourType> adapterview,你必须将它设置为AdapterView(所以你需要在这里放置你定义的类型声明中的{{1}}。