Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Intent aus CustomImageView erstellen

Das Thema "Intent aus CustomImageView erstellen" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 24.10.2011, 22:13   #1 (permalink)
Neuer Benutzer

Registriert seit: 24.10.2011
Beiträge: 12
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard Intent aus CustomImageView erstellen

Hallo!

Ich habe eine CustomImageView erstellt:

Code:
 
public class Landkarte extends Activity {
 
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.landkarte);
CustomImageView myView = new CustomImageView(getApplicationContext()); System.out.println("Setting the view"); myView.invalidate(); setContentView(myView);
System.out.println("Calling invalidate");
}
}
Das funktioniert sehr gut. Habe eine eigene ondraw-Funktion geschrieben. Jetzt möchte ich aber auf Benutzereingaben reagieren und bei einem Klick auf einen bestimmten Bereich auf dem Bildschirm einen neuen Intent starten:

Code:
 
public class CustomImageView extends ImageView
{
public CustomImageView(Context context)
{
super(context); // TODO Auto-generated constructor stub
setBackgroundColor(0xffffffff);
}
public CustomImageView(Context context, AttributeSet attrs)
{ super(context, attrs); // TODO Auto-generated constructor stub
}
public CustomImageView(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}
@Override
protected void onDraw(Canvas canvas)
{
// TODO Auto-generated method stub
super.onDraw(canvas); .... }
@Override
public boolean onTouchEvent(MotionEvent event) {
Intent intent = new Intent(CustomImageView.this, Hauptscreen.class);
startActivity(intent); finish();
}

Leider funktioniert das nicht. Die Meldung besagt: The constructor Intent(CustomImageView, class<Hauptscreen>) is undefinied.

Das liegt bestimmt daran, dass diese Klasse kein extends Activity sondern extends ImageView enthält... aber wie kann ich mir da helfen? Ich verstehe noch nicht ganz, wie die intents untereinander agieren können... wie komme ich aus der CustomImageView wieder raus um von der Landkarte class neue intents zu starten?

Vielen Dank!

Gruß,

Alex

Geändert von AlexL1980 (24.10.2011 um 22:25 Uhr)
AlexL1980 ist offline   Mit Zitat antworten
Alt 25.10.2011, 07:31   #2 (permalink)
Neuer Benutzer

Registriert seit: 04.01.2010
Beiträge: 29
Abgegebene Danke: 0
Erhielt 2 Danke für 1 Beitrag
Standard

Hi,

stimmt, deshalb musst Du auch in Deinem Intent das Context verwenden, dass Du bei der Erzeigung der Custom View erhälst.

Viele Grüße

Luser_k

Gesendet mit der Android-Hilfe.de-App
Luser_k ist offline   Mit Zitat antworten
Alt 25.10.2011, 16:35   #3 (permalink)
Neuer Benutzer

Registriert seit: 24.10.2011
Beiträge: 12
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Intent aus CustomImageView erstellen

Hallo Luser_k!

Danke für Deine Antwort. Ich verstehe sie nur nicht... hast Du ein Beispiel? Das Problem ist, dass der Compiler das intent gar nicht im ontoucheventhandler kennt.

Intent intent =
new Intent(getContext(), Hauptscreen.class);

startActivity(intent);

finish();

The method startActivity(Intent) is undefined for the type CustomImageView
The method finish() is undefined for the type CustomImageView
AlexL1980 ist offline   Mit Zitat antworten
Alt 25.10.2011, 17:06   #4 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: Intent aus CustomImageView erstellen

Man sollte auch kein Intent aus dem View feuern. Warum feuerst du kein Event aus dem View und reagierst darauf in der Activity?
__________________
Follow/Add/Circle/Whatever me on Google+

Solitaire HD, ein Solitaire optimiert für Honeycomb.
the_alien ist offline   Mit Zitat antworten
Alt 25.10.2011, 17:42   #5 (permalink)
Neuer Benutzer

Registriert seit: 24.10.2011
Beiträge: 12
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard

Weil dies mein erster custom view ist und ich deshalb wenig Ahnung davon habe.

Wie kann ich aus der View (ontouchevent) mit der Activity kommunizieren?

Gesendet mit der Android-Hilfe.de-App
AlexL1980 ist offline   Mit Zitat antworten
Alt 25.10.2011, 18:48   #6 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: Intent aus CustomImageView erstellen

So wie bei anderen Views auch mit Listenern.
__________________
Follow/Add/Circle/Whatever me on Google+

Solitaire HD, ein Solitaire optimiert für Honeycomb.
the_alien ist offline   Mit Zitat antworten
Alt 25.10.2011, 18:51   #7 (permalink)
Neuer Benutzer

Registriert seit: 24.10.2011
Beiträge: 12
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard

Also in der activity setonclicklistener? Kommt das dann nicht mit dem ontouchevent der view ins Gehege?
AlexL1980 ist offline   Mit Zitat antworten
Alt 25.10.2011, 18:54   #8 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: Intent aus CustomImageView erstellen

Hänge doch einfach einen OnTouchListener an deinen View an.
__________________
Follow/Add/Circle/Whatever me on Google+

Solitaire HD, ein Solitaire optimiert für Honeycomb.
the_alien ist offline   Mit Zitat antworten
Alt 25.10.2011, 19:07   #9 (permalink)
Neuer Benutzer

Registriert seit: 24.10.2011
Beiträge: 12
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Intent aus CustomImageView erstellen

Dann hab ich aber wieder das Problem, dass die View das startActivity() nicht kennt, oder?

Ein Beispiel würde mir sehr helfen.
AlexL1980 ist offline   Mit Zitat antworten
Alt 25.10.2011, 23:07   #10 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: Intent aus CustomImageView erstellen

Code:
 
public class Landkarte extends Activity {
 
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.landkarte);
CustomImageView myView = new CustomImageView(getApplicationContext()); System.out.println("Setting the view"); myView.invalidate(); setContentView(myView); myView.setOnTouchListener(new OnTouchListener() { public void onTouch() { //startActivity });
System.out.println("Calling invalidate");
}
}
Mal eben kurz ins unreine geschrieben.
__________________
Follow/Add/Circle/Whatever me on Google+

Solitaire HD, ein Solitaire optimiert für Honeycomb.
the_alien ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei the_alien für diesen Beitrag:
AlexL1980 (26.10.2011)
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Playlist vom PC aus erstellen Darnok Sony Ericsson Xperia Neo / Neo V Forum 4 04.08.2011 20:53
Intent aus onReceive übergeben rufux Android App Entwicklung 8 01.12.2010 15:02
Intent zum auswählen oder neu erstellen? Unicate Android App Entwicklung 1 02.10.2010 13:34
CustomImageView + GridView + onItemClick Unicate Android App Entwicklung 3 01.10.2010 12:00
Intent aus BroadcastReceiver an Activtiy senden ECS Android App Entwicklung 0 13.04.2010 13:40




Du liest gerade: "Intent aus CustomImageView erstellen" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.