Java 希望将listview中的项发送到另一个类

Java 希望将listview中的项发送到另一个类,java,android,class,listview,Java,Android,Class,Listview,我现在只想在listview中打开另一个类的第一项。 代码所在的brands类可以正常打开,但是如果我单击一个listitem,它就会停止工作。 我从Android Studio没有收到任何错误,所以我不知道从哪里开始 这是我的密码: public class brands extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(s

我现在只想在listview中打开另一个类的第一项。 代码所在的brands类可以正常打开,但是如果我单击一个listitem,它就会停止工作。 我从Android Studio没有收到任何错误,所以我不知道从哪里开始

这是我的密码:

public class brands extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.brand_list);
    setTitle("Order By Brand");

    final ArrayList<Brand> brands = new ArrayList<Brand>();

    brands.add(new Brand("Black Label",R.drawable.black_label,R.color.black_label));
    brands.add(new Brand("Castle Lager", R.drawable.castle_lager,R.color.castle_lager));
    brands.add(new Brand("Castle Lite",R.drawable.castle_lite,R.color.castle_lite));
    brands.add(new Brand("Castle Milk Stout",R.drawable.milk_stout,R.color.castle_milk_stout));
    brands.add(new Brand("Hansa Pilsner",R.drawable.hansa,R.color.hansa));
    brands.add(new Brand("Flying Fish",R.drawable.flying_fish,R.color.flying_fish));
    brands.add(new Brand("Lion Lager",R.drawable.lion_lager,R.color.lion_lager));
    brands.add(new Brand("Redd's",R.drawable.redds,R.color.redds));
    brands.add(new Brand("Brutal Fruit",R.drawable.brutal_fruit,R.color.brutal_fruit));

    BrandAdapter adapter = new BrandAdapter(this, brands, R.color.order_by_brand);
    ListView listView = (ListView) findViewById(R.id.list);
    listView.setAdapter(adapter);

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
            ListView black_label = (ListView) findViewById(R.id.list);
            black_label.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent black_labelIntent = new Intent(brands.this, black_label.class);
                    startActivity(black_labelIntent);
                }
            });
    }}
    );
}}
public class brands扩展应用程序活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(右布局、品牌列表);
setTitle(“按品牌订购”);
最终ArrayList品牌=新ArrayList();
品牌。添加(新品牌(“黑色标签”,R.drawable.Black_标签,R.color.Black_标签));
品牌。添加(新品牌(“Castle Lager”,R.drawable.Castle_Lager,R.color.Castle_Lager));
品牌。添加(新品牌(“Castle Lite”,R.drawable.Castle_Lite,R.color.Castle_Lite));
品牌。添加(新品牌(“Castle Milk Stout”,R.drawable.Milk_Stout,R.color.Castle_Milk_Stout));
添加(新品牌(“Hansa Pilsner”,R.drawable.Hansa,R.color.Hansa));
品牌。添加(新品牌(“飞鱼”,R.drawable.Flying_Fish,R.color.Flying_Fish));
品牌。添加(新品牌(“Lion Lager”,R.drawable.Lion_Lager,R.color.Lion_Lager));
添加(新品牌(“Redd”,R.drawable.Redd,R.color.Redd));
品牌。添加(新品牌(“野蛮水果”,R.drawable.野蛮水果,R.color.野蛮水果));
BrandAdapter=新的BrandAdapter(此,品牌,R.color.按品牌订购);
ListView ListView=(ListView)findViewById(R.id.list);
setAdapter(适配器);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView AdapterView,视图视图,整型位置,长id){
ListView黑色标签=(ListView)findViewById(R.id.list);
黑色标签.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
Intent black_labelinent=新Intent(brands.this,black_label.class);
StartTactivity(黑色标签);
}
});
}}
);
}}

这是因为您试图打开一个非活动类。创建意图时,应提供在清单中声明的活动类

像这样更改您的McClick实现

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
            Intent black_labelIntent = new Intent(brands.this, <the_activity_you_want_to_open>.class);
            startActivity(black_labelIntent);
    }}
);
listView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView AdapterView,视图视图,整型位置,长id){
Intent black_Labelinent=新Intent(brands.this.class);
StartTactivity(黑色标签);
}}
);

不要使用listview。google不建议使用recyclerview。它是“更聪明”的。santalu已经给出了答案