package com.example.deannota;
import java.lang.reflect.Field;
import com.example.deannota.anot.ViewClick;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;
public class AnnotationActivity extends Activity {
protected Context context = this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public void setContentView(int layoutResID) {
super.setContentView(layoutResID);
}
protected void inject() {
Field[] fields = this.getClass().getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
ViewClick viewc = fields[i].getAnnotation(ViewClick.class);
int id = viewc.targetId();
fields[i].setAccessible(true);
try {
View view = (View) fields[i].get(this);
view.setOnClickListener(new Click(id));
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
}
}
}
class Click implements OnClickListener {
private int id;
public Click(int id) {
this.id = id;
}
@Override
public void onClick(View v) {
Toast.makeText(context, "Click!!!! " + id, Toast.LENGTH_SHORT).show();
}
}
}