2015-09-15 5 views
0

Первый пользователь Android Studio, работающий в мини-программе, где на экране отображаются 5 изображений. Когда пользователь нажимает на каждое изображение, пользователь перенаправляется на другое действие, которое отображает больше информации. До сих пор я получил один образ для работы с моим изображением hardin_valley.Как вы применяете несколько прослушивателей событий к изображениям в андроиде

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    ImageView img = (ImageView) findViewById(R.id.imageViewHardin); 
    img.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      startActivity(new Intent(MainActivity.this, hardin_valley.class)); 
     } 
    }); 
} 

Вопрос у меня есть, у меня есть blonty_county, division_street и магнолии изображения я хочу, чтобы перенаправить на новые виды деятельности, когда пользователь щелкает. Как я буду создавать отдельные слушатели. Или, какой был бы лучший подход, спасибо

+0

вы с 5 различных ImageView для 5 различных изображений? – Mohit

+0

Правильно –

+0

поэтому реализует OnClickListener вам класс, а в 'OnClik' используется метод' switch' для выполнения действия в соответствии с вашим идентификатором изображения. – Mohit

ответ

0

Лучший подход, если у вас есть несколько слушателей в вашей деятельности, просто добавьте тег android:onClick="clickHandler" в свой XML для каждого изображения, а затем обратно в свой класс java, который вы можете сделать это:

public void clickHandler(View v) 
{ 
    if(v == R.id.imageViewHardin) 
     //do something 

    else if(v == R.id.imageViewBlueCounty) 
     //do something else 

} 
+0

Да, вы правы, даже не думали о создании цикла для слушателей. Я начал декларировать каждое изображение, затем прочитал ваш комментарий и понял, что мой путь будет бессмысленным дополнительным кодом. Спасибо. –

0

Использование switch-case в onClick, к которому вид щелкают

public class MainActivity extends Activity implements OnClickListener { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 

    //-your all image views to link layout-// 
    ImageView im = (ImageView) findViewById(R.id.image); 
    im.setOnClickListener(this); 
} 
@Override 
public void onClick(View v) { 

    switch (v.getId()) { 
    // -- find here id of your all 5 image view 
    case R.id.image: 
     break; 
    default: 
     break; 
    } 
}