2013-12-14 47 views
1

这是我使用的代码,但当我点击任何按钮,但 ProfileHandler & calculateHandler arent工作唯一的变化是活动的名称,但它停留在在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); 
} 
+1

您确定按下按钮时会调用这些方法吗?并且请将您的班级成员重命名为符合标准命名约定,大多数人很难阅读您的代码。 – Egor

回答

0

您应该使用camelCasedNamingConvention而不是驼峰随机搭配和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并避免将数字放在那里。

相关问题