类activityItems工作正常,但我收到警告" Type Class是原始类型。对泛型类的引用应该参数化"。如何解决?
这是我的代码:
public class MainActivity extends ListActivity {
String classes[] = { "AccountActivity", "CountsActivity", "" };
String listItems[] = { "Accounts", "Counts", "temp" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
View layout = findViewById(R.id.container);
Drawable background = layout.getBackground();
background.setAlpha(110);
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, listItems));
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
String item = classes[position];
try {
Class activityItems = Class.forName("com.arbaz.hk." + item);
Intent intent = new Intent(this, activityItems);
startActivity(intent);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
答案 0 :(得分:3)
我认为可能只是改变了这种情况:
Class activityItems = Class.forName("com.arbaz.hk." + item);
为:
Class<?> activityItems = Class.forName("com.arbaz.hk." + item);
这样你仍然没有说你知道T
中的Class<T>
是什么,但是你证明你至少知道它是一般类型,因此编译器不会从签名等中删除所有泛型的痕迹,否则就会如此。