[ERLEDIGT] Wandernder Text

J

JayRT

Neues Mitglied
0
Hallo zusammen,
ich stehe etwas daneben: Mein kleiner retro-Screensaver funktionierte bereits, jedoch stürzt die App seit einigen Tagen ab.
ich nehme an, dass der Zugriff auf "tv" nicht mehr funktioniert, denn außerhalb des Threads funktioniert das setX und setY, aber im Thread selbst stürzt die App einfach ab.



static int x_max = 110;//950;
static int y_max = 110;//850;
int y = y_max;
int x = x_max;
int x_min = 100;
int y_min = 100;
static int dx = -1;
static int dy = -1;
private TextView tv;

Thread moveText = new Thread() {
@override
public void run() {

while(true) {
if (x < x_min || x > x_max){
dx = dx * -1;
}
if (y < y_min || y > y_max){
dy = dy * -1;
}
x = x + dx;
y = y + dy;
tv.setX(x);
tv.setY(y);
try{ Thread.sleep(10); }catch(InterruptedException e){ }
}

}
};

@override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_black, parent, false);
}
// This event is triggered soon after onCreateView().

@override
public void onViewCreated(View view, Bundle savedInstanceState) {
// Set the name of this view to the info bar.
TextView site_name = (TextView) getActivity().findViewById(R.id.site_name);
site_name.setText("Screensaver");

tv = (TextView) getActivity().findViewById(R.id.Screensaver);
moveText.start();
 
Beim nächsten mal bitte den LogCat mit anhängen und den Code in Code Tags einfügen.

Dein Fehler ist vermutlich das die Elemente auf Oberfäche nur im UI Thread aktualisiert werden können.
Code:
runOnUiThread(new Runnable() {
    public void run() {
        // Update UI elements
    }
});
 
  • Danke
Reaktionen: lordzwieback, JayRT und swa00
Danke! *closed*
 

Ähnliche Themen

W
  • WuDiDong
Antworten
3
Aufrufe
750
jogimuc
J
H
Antworten
4
Aufrufe
594
HTCUserRay
H
H
Antworten
2
Aufrufe
1.263
Hcman
H
Zurück
Oben Unten