Android : How to call/invoke classes for repetitive buttons in different activities

on Sunday, September 14, 2014


I have in my app about 20 activities with the same buttons in each activity, so I'm trying to have a class for each button to avoid repeating the same code in each activity. how ever I have no idea how to do that or how to call them in the activity:


here's an example of the content of the button that are repeated in every activity code: (i5,i6,i7...are the buttons variables)



i5.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

p++;

switch (p) {
case 1:
Typeface tf3 = Typeface.createFromAsset(getAssets(),
"fonts/dubai.TTF");
t2.setTypeface(tf3);

break;

case 2:
Typeface tf4 = Typeface.createFromAsset(getAssets(),
"fonts/kacstpen.ttf");

t2.setTypeface(tf4);

;
break;
case 3:
Typeface tf5 = Typeface.createFromAsset(getAssets(),
"fonts/mohammad.ttf");
t2.setTypeface(tf5);

break;

case 4:
Typeface tf6 = Typeface.createFromAsset(getAssets(),
"fonts/nassim.ttf");
t2.setTypeface(tf6);
p = 0;
break;

}

}

});

i10.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(getApplicationContext(), Content12.class);
startActivity(i);
overridePendingTransition(R.anim.pushin, R.anim.pushout);

}
});
i8.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(getApplicationContext(), Content10.class);
startActivity(i);
overridePendingTransition(R.anim.pushinright,
R.anim.pushoutright);

}
});
i1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(getApplicationContext(), Info.class);
startActivity(i);
overridePendingTransition(R.anim.pushinhorizontal,
R.anim.pushouthorizontal);

}
});
i12.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent (getApplicationContext(), Apps.class);
startActivity(i);
overridePendingTransition(R.anim.pushin, R.anim.pushout);

}
});

i3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
o++;

switch (o) {
case 1:
layout2.setBackgroundResource(R.drawable.bac10);

break;
case 2:
layout2.setBackgroundColor(Color.parseColor("#95B9C7"));

break;
case 3:

layout2.setBackgroundColor(Color.parseColor("#82CAFA"));

break;
case 4:
layout2.setBackgroundColor(Color.parseColor("#CCFFFF"));

break;
case 5:
layout2.setBackgroundColor(Color.parseColor("#6CC417"));

break;
case 6:
layout2.setBackgroundColor(Color.parseColor("#8AFB17"));

break;
case 7:

layout2.setBackgroundColor(Color.parseColor("#FFA500"));

break;
case 8:

layout2.setBackgroundColor(Color.parseColor("#ADD8E6"));

break;
case 9:

layout2.setBackgroundColor(Color.parseColor("#E6A9EC"));

break;
case 10:

layout2.setBackgroundColor(Color.parseColor("#87F717"));

break;
case 11:
layout2.setBackgroundColor(Color.parseColor("#F9966B"));

break;
case 12:
layout2.setBackgroundResource(R.drawable.bac6);

break;

default:

layout2.setBackgroundResource(R.drawable.backbleu);

o = 0;

}

}

});

i4.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
r++;

switch (r) {
case 1:
t2.setTextColor(Color.parseColor("#151B54"));

break;
case 2:
t2.setTextColor(Color.parseColor("#254117"));

break;
case 3:

t2.setTextColor(Color.parseColor("#AF7817"));

break;

case 4:
t2.setTextColor(Color.MAGENTA);

break;
case 5:
t2.setTextColor(Color.parseColor("#0000A0"));

break;
case 6:

t2.setTextColor(Color.parseColor("#C0C0C0"));

break;
case 7:
t2.setTextColor(Color.parseColor("#8C001A"));

break;
case 8:
t2.setTextColor(Color.parseColor("#437C17"));

break;
case 9:
t2.setTextColor(Color.parseColor("#4B0082"));

break;
case 10:

t2.setTextColor(Color.parseColor("#800517"));

break;
case 11:
t2.setTextColor(Color.RED);

break;
case 12:
t2.setTextColor(Color.GREEN);

break;
case 13:

t2.setTextColor(Color.parseColor("#C11B17"));

break;
default:
t2.setTextColor(Color.BLACK);

r = 0;
}

}

});

i6.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {

if (i < 50)
i = i + 2;
t2.setTextSize(i);

}

});
i7.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {

if (i > 16)
i = i - 2;
t2.setTextSize(i);

}

});

i9.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
overridePendingTransition(R.anim.pushinright,
R.anim.pushoutright);

}
});

0 comments:

Post a Comment