N
no1Ltan
Fortgeschrittenes Mitglied
- 7
Hallo,
bisher habe ich es in meinen Programmcodes so gestaltet, dass ich einer Variable eine ID zugewiesen habe,
als dieser auch eine Funktion zuweisen wollte.
Z.B.:
Allerdings ist es für mich einfacher und schneller, den Variablen die IDs als Liste zuzuweisen, da ich dafür Excel und AutoHotkey nutzen kann.
z.B.
Der Nachteil dieser Arbeitsweise ist jedoch, dass ich beim Öffnen des Programmcodes immer regelrecht erschlagen werde,
da am Anfang nur IDs zu sehen sind.
Daher hatte ich 2 Ideen:
1) Zeilen ausblenden
Hat nicht geklappt, da Android Studio immer die kompletten Methoden ausblendet.
Befinde ich mich - wie in diesem Fall - in der onCreate-Methode, werden auch wichtige Zeilen ausgeblendet
2) Extra Methode für das Zuweisen der Variablen/IDs anlegen
Also das hier hat auf jeden Fall schon mal NICHT geklappt:
Habt ihr eine Idee, wie sich das Lösen lässt?
Klar ist es kein großes Problem, aber speziell bei Anfängern wie mir ist weniger Programmcode
auch weniger verwirrend.
Da kann man sich auf das wesentliche konzentrieren statt ständig X IDs überfliegen zu müssen.
Grüße
bisher habe ich es in meinen Programmcodes so gestaltet, dass ich einer Variable eine ID zugewiesen habe,
als dieser auch eine Funktion zuweisen wollte.
Z.B.:
Code:
Button buttonSilver = findViewById(R.id.button_silver);
buttonSilver.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
setColor(getResources().getColor(R.color.silver), getResources().getColor(R.color.black)); // Load setColor method and send 2 color values
}
});
Allerdings ist es für mich einfacher und schneller, den Variablen die IDs als Liste zuzuweisen, da ich dafür Excel und AutoHotkey nutzen kann.
z.B.
Code:
Button buttonWhite = findViewById(R.id.button_white);
Button buttonSilver = findViewById(R.id.button_silver);
Button buttonYellow = findViewById(R.id.button_yellow);
Button buttonOrange = findViewById(R.id.button_orange);
Button buttonRed = findViewById(R.id.button_red);
Button buttonPink = findViewById(R.id.button_pink);
Der Nachteil dieser Arbeitsweise ist jedoch, dass ich beim Öffnen des Programmcodes immer regelrecht erschlagen werde,
da am Anfang nur IDs zu sehen sind.
Daher hatte ich 2 Ideen:
1) Zeilen ausblenden
Hat nicht geklappt, da Android Studio immer die kompletten Methoden ausblendet.
Befinde ich mich - wie in diesem Fall - in der onCreate-Methode, werden auch wichtige Zeilen ausgeblendet
2) Extra Methode für das Zuweisen der Variablen/IDs anlegen
Also das hier hat auf jeden Fall schon mal NICHT geklappt:
Code:
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class Page_4_Colors extends Activity
{
int pos;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.page4_colors);
linkIds(); // Link variables and Ids
buttonWhite.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
setColor(getResources().getColor(R.color.white), getResources().getColor(R.color.black)); // Load setColor method and send 2 color values
}
});
buttonSilver.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
setColor(getResources().getColor(R.color.silver), getResources().getColor(R.color.black)); // Load setColor method and send 2 color values
}
});
}
public void setColor (int backgroundColor, int textColor) // Write color values into SharedPreferences
{
SharedPreferences prefs = getSharedPreferences("MY_SHARED_PREF", MODE_MULTI_PROCESS); // Create new SharedPreferences instance
SharedPreferences.Editor editor = prefs.edit(); // Assign variable to editor function
if (pos == 1)
{
editor.putInt("backgroundColorLeft", backgroundColor); // Write background color (int) inside of editor
editor.putInt("textColorLeft", textColor); // Write text color (int) inside of editor
}
if (pos == 2)
{
editor.putInt("backgroundColorRight", backgroundColor); // Write background color (int) inside of editor
editor.putInt("textColorRight", textColor); // Write text color (int) inside of editor
}
editor.apply(); // Save values, close process
this.finish(); // Close this activity
}
protected void linkIds() // Link variables and Ids
{
Button buttonWhite = findViewById(R.id.button_white);
Button buttonSilver = findViewById(R.id.button_silver);
Button buttonYellow = findViewById(R.id.button_yellow);
Button buttonOrange = findViewById(R.id.button_orange);
Button buttonRed = findViewById(R.id.button_red);
Button buttonPink = findViewById(R.id.button_pink);
}
}
Habt ihr eine Idee, wie sich das Lösen lässt?
Klar ist es kein großes Problem, aber speziell bei Anfängern wie mir ist weniger Programmcode
auch weniger verwirrend.
Da kann man sich auf das wesentliche konzentrieren statt ständig X IDs überfliegen zu müssen.
Grüße