这是我使用的代码,但当我点击任何按钮除 ProfileHandler& calculateHandler不工作唯一改变的是活动的名称,但它保留在MainActivity屏幕
public void ProfileHandler(View view){
Intent Intent=new Intent (MainActivity.this, ProfileMainActivity.class);
startActivity(Intent);
}
public void new_profile_handler(View view){
Intent Intent=new Intent(MainActivity.this, NewProfileMainActivity.class);
startActivity(Intent);
}
public void add_activity_handler(View view){
Intent Intent=new Intent(MainActivity.this, InputUserActivity.class);
startActivity(Intent);
}
public void View_Activities_Handler(View view){
Intent Intent=new Intent(MainActivity.this, ViewAllActsActivity.class);
startActivity(Intent);
}
public void calculateHandler(View view){
Intent Intent=new Intent(MainActivity.this, CalculateMainActivity.class);
startActivity(Intent);
}
public void Goal_Handler(View view){
Intent Intent=new Intent(MainActivity.this, GoalMainActivity.class);
startActivity(Intent);
}
答案 0 :(得分:0)
你应该使用camelCasedNamingConvention而不是随机混合camelCase和underscored_naming
为什么要将视图传递给这些方法,因为你没有在它们中使用它?
您确定在这些活动中指定了有效且定义明确的内容布局吗?
setConentView(R.layout.some_activity) - 这应该指向您在布局文件夹中指定的其他xml文件。
我不知道你如何调用这些方法,但你可以使用SWITCH语句,或者如果你有switch语句的问题,你可以尝试多个if / else语句,如下所示:
import android.view.View.OnClickListener;
public class MyClass extends Activity implements OnClickListener{
private Button buttonOne;
private Button buttonTwo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
buttonOne = (Button) findViewById(R.id.buttonOne);
buttonTwo = (Button) findViewById(R.id.buttonTwo);
buttonOne.setOnClickListener(this);
buttonTwo.setOnClickListener(this);
}
@Override
public void onClick(View v) {
int id = v.getId();
if (id == R.id.buttonOne) {
Intent startActivityOne = new Intent (MyClass.this, ActivityOne.class);
startActivity(startActivityOne);
} else if (id == R.id.buttonTwo) {
Intent startActivityTwo = new Intent (MyClass.this, ActivityTwo.class);
startActivity(startActivityTwo);
}
}
并在ActivityOne课程中你应该:
setContentView(R.layout.activity_one);
在ActivityTwo中你应该:
setContentView(R.layout.activity_two);
是您在布局文件夹中定义的不同xml文件。
注意:在Java中,它首选使用camelCase,但是使用Android中的xml文件,你应该使用underscored_names并避免在那里放数字。