我想从我的适配器活动开始一个新的活动到另一个活动通过按钮。即时通讯新的Android工作室,我有搜索整个一些主题,我找到了一些解决方案,但仍然没有修复我的代码,他们不断地告诉不同的错误。请帮帮我 。如何通过按钮从ArrayAdapter启动新的活动?
我想通过btn_reserve
将其移动到ReserveActivity.java
但是当我运行上面的代码,它表示
Error:(54, 28) error: no suitable constructor found for Intent(<anonymous OnClickListener>,Class<ReserveActivity>) constructor Intent.Intent(String,Uri) is not applicable (argument mismatch; <anonymous OnClickListener> cannot be converted to String)
构造Intent.Intent(上下文,类)是不适用 (自变量不匹配;不能被转换为上下文)
所以我的继承人代码
public class mainmodeladapter extends ArrayAdapter<String> {
private Activity context;
private final String[] itemname;
private final Integer[] imgid;
private Context mContext;
public mainmodeladapter(Activity context, String[] itemname, Integer[] imgid) {
super(context, R.layout.modelmain, itemname);
this.context=context;
this.itemname=itemname;
this.imgid=imgid;
}
public View getView(int position,View view,ViewGroup parent) {
LayoutInflater inflater=context.getLayoutInflater();
View rowView=inflater.inflate(R.layout.modelmain, null,true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.lapangantxt);
ImageView imageView = (ImageView) rowView.findViewById(R.id.icon);
TextView extratxt = (TextView) rowView.findViewById(R.id.hargatxt);
txtTitle.setText(itemname[position]);
imageView.setImageResource(imgid[position]);
extratxt.setText("Rp 150.000/Jam");
return rowView;
Button btn_reserve = (Button) rowView.findViewById(R.id.btn_reserve);
btn_reserve.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(this, ReserveActivity.class);
context.startActivity(i);
}
});
};
}
IVE搜索在另一个线程,它说,我需要把context.startActivity(i)
因为它的适配器,怎么当我context.
从startActivity(i);
删除,它开始显示红色亮点
这样做rowView.findViewById(R.id.btn_reserve);
如果我删除rowView.
的findviewById();
将开始有红色的亮点,我不知道为什么。我错了“btn”代码吗?它应该在另一个活动中吗? 请帮助我。谢谢
I =新意图(此,ReserveActivity.class)''this'意味着当前类和当前类是'OnClickListener'。您不能将侦听器传递给“Intent”构造函数的第一个参数。这是编译时错误,我不知道为什么你的编译器无法找到它。无论如何,你应该读取错误之前发布到SO,消息是非常清楚的 – Beloo
ive将它改为'(context,ReserveActivity.class)'miracely,它的工作原理,但我不知道为什么当我按下“保留”按钮它崩溃应用程序。无论如何确认如何知道崩溃从何而来?即时通讯真的新调试 –