2013-10-25 2 views
1

Я использую корпус переключателя в своей деятельности. Я использую 6 случаев, когда они открывают одно и то же действие Map.java. Теперь в Map.java я хочу получить это, с которого эта функция открыта и хочет выполнить тост. Пожалуйста, дайте мне дорогу. чем раньше. вот мой кодОбращайтесь с корпусами переключателей в другом виде

public void buttonClick(View v) { 

    switch (v.getId()) { 
    case R.id.imageButton1: 
     img3.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 

       startActivity(new Intent(Report.this, Map.class)); 
      } 
     }); 
     break; 

    case R.id.imageButton2: 
     img4.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 

       startActivity(new Intent(Report.this, Map.class)); 
      } 
     }); 
     break; 
    case R.id.imageButton3: 

     img5.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 

       startActivity(new Intent(Report.this, Map.class)); 
      } 
     }); 
     break; 
    case R.id.imageButton4: 
     img6.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 

       startActivity(new Intent(Report.this, Map.class)); 
      } 
     }); 
     break; 
    case R.id.imageButton5: 
     img7.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 

       startActivity(new Intent(Report.this, Map.class)); 
      } 
     }); 
     break; 
    case R.id.imageButton6: 
     img8.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       startActivity(new Intent(Report.this, Map.class)); 
      } 
     }); 
     break; 
    } 
} 
+0

Почему вы не можете использовать putExtra? –

+1

сэр, пожалуйста, дайте мне код, который я могу использовать для него.pleae –

+1

сэр мне нужно еще 1 помощь. теперь в Map.java я хочу использовать идентификатор case switch в if else. пожалуйста, дайте мне способ. –

ответ

4

Вам нужно создать пакет и передать параметр для второй активности:

public void buttonClick(View v) { 
    Intent intent = new Intent(Report.this, Map.class); 
    intent.putExtra("button", v.getId()); 
    startActivity(intent); 
} 

Во второй деятельности:

public class Map extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     int caller = getIntent().getIntExtra("button", 0); 
     switch (caller) { 
     case R.id.imageButton1: 
      //do something 
      break; 
     case R.id.imageButton2: 
      //do something 
      break; 
     case R.id.imageButton3: 
      //do something 
      break; 
     case R.id.imageButton4: 
      //do something 
      break; 
     case R.id.imageButton5: 
      //do something 
      break; 
     case R.id.imageButton6: 
      //do something 
      break; 
     } 
    } 
} 
+1

Идеальный ответ с кодом. –

+0

@PareshMayani спасибо –

+0

спасибо, сидит, работает для меня :) отлично !! –

1

Try:

  1. Не пишите лишний код, вместо определения общего щелчка класса слушателя и назначается тем же каждые кнопки.
  2. Введите название кнопки в намерении, используя putExtra() метод намерения.

Например (второй этап):

Intent intent = new Intent(Report.this, Map.class); 
intent.putExtra("WhichButton", "ButtonName"); 
startActivity(); 
Смежные вопросы