【发布时间】:2020-03-12 15:24:34
【问题描述】:
我想创建一个方法,当在其他类中实现时,你只需要传递一些参数,然后调用-onclick()函数来设置元素。
目前,我刚刚完成了这项工作。但这给了我一个 RunTimeException
无法启动活动 ComponentInfo{com.example.test/com.example.testActivity.MainActivity}:java.lang.NullPointerException:尝试调用虚拟方法 'android.app.ActivityThread$ApplicationThread android.app.ActivityThread.getApplicationThread ()' 在空对象引用上
我的代码:
类:可点击
imports ...
public class ClickeableOptions implements View.OnClickListener{
private CardView cardView;
private Context cont;
private Class actTarget;
public OpcionesMainClickeables() {}
public ClickeableOptions(CardView cardView, Context cont, Class actTarget) {
this.cardView = cardView;
this.cont = cont;
this.actTarget= actTarget;
}
//Getters and Setters
@Override
public void onClick(View v) {
getCardView().setOnClickListener(this);
Intent intent = new Intent(this.getCont(), this.getActTarget());
startActivity(intent);
}
}
我想像这样实现这个类...
public class MainActivity extends AppCompatActivity{
private CardView cvRegistration;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cvRegistration = (CardView) findViewById(R.id.cvRegistration);
ClickeableOptions optionRegistration = new ClickeableOptions(
cvRegistration, this, Registration.class
);
optionRegistration.onClick(optionRegistration.getCardView());
}
我已经在同一个文件中实现了该方法,但我想这样做以使事情更整洁。
我认为问题在于this的使用,但我真的不明白
【问题讨论】:
标签: java android android-studio oop onclick