如何通过4 imageview获取de viewId活动?

时间:2017-11-05 19:40:05

标签: android

我想将下面的代码缩减为获得viewId的函数,并使用Toast命令显示它。然后将方法setOnclick设为一个,而不是为alunonotas重复一次。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tela_principal);
    LinearLayout linearLayout = (LinearLayout)findViewById(R.id.mtela);

    sala = (ImageView)findViewById(R.id.sala);
    professor = (ImageView)findViewById(R.id.professor);
    aluno = (ImageView)findViewById(R.id.aluno);
    notas = (ImageView)findViewById(R.id.notas);

    sala.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(getApplicationContext(),"sala"+sala.getId(),Toast.LENGTH_LONG).show();
        }
    });

    professor.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(getApplicationContext(),"sala"+professor.getId(),Toast.LENGTH_LONG).show();
        }
    });
}

3 个答案:

答案 0 :(得分:1)

第一个选项 您可以在ImageView标记中使用属性onClick,在属性内部,点按alt + enter并为每个ImageView创建方法

第二个选项 您可以在此类中使用extends View.OnClickListener,并实现方法onClick。在此之后,您编写代码并切换大小写以获取ImageViews的ID

答案 1 :(得分:0)

首先在主要活动中创建onClick函数:

   public void onClick(View view){

    Toast.makeText(getApplicationContext(),getResources().getResourceEntryName(view.getId()) + view.getId(),Toast.LENGTH_LONG).show();

}

我使用“getResources()。getResourceEntryName(view.getId())”来获取ID的名称,使用“view.getId()”来获取您想要的ID号。

然后将该函数添加为XML中每个图像视图的侦听器

android:onClick="onClick"

答案 2 :(得分:0)

请按以下步骤操作: -

将onClickListener实现为activity并覆盖onClick()。

设置所有对象,如sala.setOnClickListener(this)。

在通过点击对象的ID检查点击的视图后,在该显示的吐司中。 view.getId()== R.id.sala ....如果true显示吐司。

对每个要点击的对象执行相同的步骤。