2013-12-14 6 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-файл, указанный в папке вашего макета.

Я не знаю, как вы называете эти методы, но вы можете использовать переключатель заявление или если у вас есть проблемы с переключателем заявлением, вы можете попробовать множественными, если/иначе, как это:

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, но с файлами xml в Android вы должны использовать underscored_names и не помещать там цифры.

Смежные вопросы