我想将下面的代码缩减为获得viewId
的函数,并使用Toast
命令显示它。然后将方法setOnclick
设为一个,而不是为aluno
和notas
重复一次。
@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();
}
});
}
答案 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显示吐司。
对每个要点击的对象执行相同的步骤。