Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用4 imageview获取活动的de-viewId?_Android - Fatal编程技术网

Android 如何使用4 imageview获取活动的de-viewId?

Android 如何使用4 imageview获取活动的de-viewId?,android,Android,我想将下面的代码简化为一个函数,该函数获取viewId,并使用Toast命令显示它。然后将方法setOnclick设置为一,对aluno和notas不重复该方法 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_tela_principal); LinearLa

我想将下面的代码简化为一个函数,该函数获取
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();
        }
    });
}

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

第二选项
您可以在此类中使用extends
View.OnClickListener
,并实现方法
onClick
。在此之后,编码并切换case以获取ImageView的id,首先在主活动中创建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"
遵循以下步骤:-

将onClickListener实现到活动并重写onClick()

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

在该显示中,通过单击对象的id来检查单击的视图。 view.getId()==R.id.sala…如果为true,则显示toast

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