代码无法在app中运行

时间:2014-03-26 11:51:10

标签: java android

第24行Class is a Raw type.References to generic Type Class<t> should be parametrised出现错误。第24行是try in block中的第一行。之前它工作正常,但现在我出现了这个错误,因为我无法运行它。

package com.example.testing;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class Menu extends ListActivity {

    String classes[]={"MainActivity","TextPlay","example2","example3","example4","example5"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setListAdapter(new ArrayAdapter<String>(Menu.this,android.R.layout.simple_list_item_1,classes));
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        // TODO Auto-generated method stub
        super.onListItemClick(l, v, position, id);
        String cheese=classes[position];
        try {
             Class ourClass = Class.forName("com.example.testing."+ cheese);
             Intent ourIntent=new Intent(Menu.this , ourClass);
             startActivity(ourIntent);
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}

错误是:

 `Class is a Raw type.References to generic Type Class<t> should be parametrised`

1 个答案:

答案 0 :(得分:1)

我认为这不是错误,应该是警告。

如果您看到Class javadoc file,则可以看到forName方法返回Class<?>

所以你可以使用@SuppressWarning注释忽略警告,或者你可以提供通用的类型:

Class<?> ourClass = Class.forName("com.example.testing."+ cheese);

希望它有所帮助。