2017-11-05 7 views
-1

私はviewIdを取得し、Toastコマンドを使用してそれを示す関数に、以下のコードを減らしたいと思います。その後、alunonotasの場合は、を1つに繰り返します。どのように4つの画像ビューでde viewIdのアクティビティを取得できますか?

@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(); 
     } 
    }); 
} 

答えて

1

FIRST OPTION あなたのImageViewのタグで属性のonClickを使用することができ、属性の内、タップALT +は、各ImageViewの

のためにあなたの方法を入力し、作成

SECOND OPTION することはできこのクラスのextend View.OnClickListenerを使用し、メソッドonClickを実装します。 。私は「getResourcesを使用しています

public void onClick(View view){ 

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

} 

()getResourceEntryName(ビュー:この後、あなたのコードおよびスイッチケースはImageViews

0

まず主な活動であなたのonClick関数を作成のIDを取得します。 getId()) "を押してIDの名前を取得し、" view.getId() "を使用してID番号を取得します。

(活動にonClickListener実装とのonClickを上書き) - は:

次の手順を実行し

android:onClick="onClick" 
0

あなたのXML内の各画像ビューのリスナーであることをその機能を追加します。

sala.setOnClickListener(this)のようなオブジェクトをすべて設定します。

クリックしたオブジェクトのIDでクリックしたビューを確認した後、そのトーストを表示します。 view.getId()== R.id.sala .... trueの場合はトーストを表示します。

クリックするすべてのオブジェクトに対して同じ手順を実行します。

関連する問題