在尝试了很多后我决定在stackoverflow上提问,我创建了一个类,用于使用按钮点击并从这个类开始一个意图。
import android.app.Activity;
import android.content.Intent;
import android.view.View;
public class OnClickListener implements android.view.View.OnClickListener{
Activity current;
Object goTo;
public OnClickListener(Activity arg0, Activity arg1){
this.current = arg0;
this.goTo = arg1;
}
@Override
public void onClick(View v) {
Intent intent = new Intent(current, goTo.getClass());
current.startActivity(intent);
}
}
并传递参数如下:
Button button = (Button)findViewById(R.id.class2_btn);
Class2 class2 = new Class2();
OnClickListener listener = new OnClickListener(class1.this, class2);
button.setOnClickListener(listener);
为什么这不起作用?单击按钮后为什么这不是下一堂课? 请帮帮我。
答案 0 :(得分:0)
我想在这里指出一些观点:
Intent intent = new Intent(current_activity.this,target_activty.class); current.startActivity(意向); 强>
答案 1 :(得分:0)
您应该发布整个代码,并使用更具描述性的名称,而不是Class1
和Class2
。无论如何,如果您的代码编译,Class1
和Class2
都是Activity
的后代,因为OnClickListener
构造函数只允许这样做。
由于您以XML格式声明了按钮,我建议您添加
android:onClick="goToActivity2"
到您的布局,然后是当前活动
以下内容public void goToActivity2(View button) {
startActivity(new Intent(this, Activity2.class));
}
它更精致,代码更少。无论如何,你应该真的回顾你的问题。