Suche Name von View Komponente

schlingel

Gesperrter Benutzer
Sorry, Leute, das ist auf Basis eines PopupWindows selbst geschrieben. Ist aber ganz einfach selbst zu machen.

Nehmt ein RelativeLayout, das aus so aussieht:

Code:
-------------- 1. Zeile -----------
zentriertes ImageView mit dem Pfeil rauf
---------------2. Zeile -----------
Überschrift (TextView)
---------------3. Zeile -----------
ListView
-----------------------------------

Das packt in ein PopupWindow, ganz normal das Layout stylen und gut ist. Das könnt ihr dann noch mit einer Animation ausstattet, damit das sexy ins Bild rollt oder so, und fertig.
 

derSoerrn

Aktives Mitglied
Java:
package de.soeren.tabwidgetlayout;

import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.WindowManager.LayoutParams;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.Toast;

public class Rechner extends Fragment implements OnClickListener{
	private final String TAG = "Rechner";
	View vLayout;
	Button bHinzufuegen, bR2, bR3, bMatrizen, bSchliessen;
	PopupWindow puwEins;
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		if (container == null) {
            return null;
        }
		vLayout = (LinearLayout)inflater.inflate(R.layout.rechner, container, false);
		
		
		//Buttons

        bHinzufuegen = (Button)vLayout.findViewById(R.id.bHinzufuegen);

        bHinzufuegen.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(final View v) {
              //aqui tus tareas,,
            	LayoutInflater layoutInflater = (LayoutInflater)getActivity().getBaseContext().
            			getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            	View vPopup = layoutInflater.inflate(R.layout.popup, null);  
                puwEins = new PopupWindow(
                		vPopup, 
                		LayoutParams.WRAP_CONTENT, 
                		LayoutParams.WRAP_CONTENT);

                bR2 = (Button)vPopup.findViewById(R.id.bR2);
                bR3 = (Button)vPopup.findViewById(R.id.bR3);
                bMatrizen = (Button)vPopup.findViewById(R.id.bMatrizen);
                bSchliessen = (Button)vPopup.findViewById(R.id.bSchliessen);
                
                bR2.setOnClickListener(this);
                bR3.setOnClickListener(this);
                bMatrizen.setOnClickListener(this);
                
                bSchliessen.setOnClickListener(new OnClickListener() {
					
					@Override
					public void onClick(View v) {
						// TODO Auto-generated method stub
						puwEins.dismiss();
					}
				});

                puwEins.showAsDropDown(bHinzufuegen, puwEins.getWidth()/2, 0);

            	}

        });
		return vLayout;
	}
	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch (v.getId()) {
		case R.id.bHinzufuegen:
			Log.v(TAG, "Button Geklickt");
			puwEins.dismiss();
			break;
		case R.id.bR2:
			Log.v(TAG, "Button Geklickt");
			puwEins.dismiss();
			break;
		case R.id.bR3:
			Log.v(TAG, "Button Geklickt");
			puwEins.dismiss();
			break;
		case R.id.bMatrizen:
			Log.v(TAG, "Button Geklickt");
			puwEins.dismiss();
			break;
		default:
			break;
		}
	}
}
Hab es jetzt so geschrieben. Nun ist die Frage, wie ich es hinbekomme, dass der OnClickListener funktioniert. Der erkennt den Klick auf einen Button leider immer nur dann an, wenn so schreibe:
Java:
bSchliessen.setOnClickListener(new OnClickListener() {
					
					@Override
					public void onClick(View v) {
						// TODO Auto-generated method stub
						puwEins.dismiss();
					}
				});

Wie greife ich richtig auf die Buttons zu?
 

derSoerrn

Aktives Mitglied
Neee so wie es da war wurden die Klicks auf den Knopf nicht angenommen. Hab das jetzt so wie in Zeile 55-61 gelöst . Problem ist jetzt nur, dass sich die Knöpfe nicht verändern, so wie sie es sonst machen, also je nach Theme Organe oder so werden wenn sie geklickt werden.

Idee was ich machen kann?
 

schlingel

Gesperrter Benutzer
Würde es gehen wenn ich dem PopUp eine Fragment Activity Klasse zuweise?
Wofür und was soll das bringen?

Problem ist jetzt nur, dass sich die Knöpfe nicht verändern, so wie sie es sonst machen, also je nach Theme Organe oder so werden wenn sie geklickt werden.
Also der Button ändert nicht seine Erscheinung aber der Event wird gefeuert? Mysteriös, wo genau ist denn der Code für das Popup? Ich hab das alles in eine eigene Klasse gepackt und dort funktioniert das wunderbar. Die wird dann nur mit dem Context-Objekt als Parameter aufgerufen und der Rest passiert dann da drinnen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
AllBlack Suche Programmierer in Java und Kotlin mit dem ich mich Selbstständig machen kann Android & Cross-Platform Mobile Apps 23
AllBlack Auf der Suche nach einem App-Entwickler Android & Cross-Platform Mobile Apps 1
M Barrierefreie Appentwicklung für Android - Suche Codebeispiele Android & Cross-Platform Mobile Apps 8
J Android Suche in einer ListView Android & Cross-Platform Mobile Apps 3
M Suche eine Webseite mit dem aktuelle Datum in XML Android & Cross-Platform Mobile Apps 18
M Android Suche Activity/View Namen Android & Cross-Platform Mobile Apps 1
E Java ME Suche aufgenommene Datei Android & Cross-Platform Mobile Apps 4
K suche nach der richtigen dokumentationh Android & Cross-Platform Mobile Apps 2
F Suche ME Beschreibung Android & Cross-Platform Mobile Apps 2
B Suche Klassenbeschreibungen und Bluetoothfunktionen. Android & Cross-Platform Mobile Apps 3
F Suche Javaspiele - Programmierer! Android & Cross-Platform Mobile Apps 5
T [Suche:] DECT-Mobiltelefon mit Javaunterstützung Android & Cross-Platform Mobile Apps 2
D Android Single-Sign-On is only supported on Windows. Please specify a user name. Android & Cross-Platform Mobile Apps 2
L Unfortunately, <Name> has stopped. Android & Cross-Platform Mobile Apps 6
G Fehlermeldung "'App-Name' wurde leider beendet." bei onPause Android & Cross-Platform Mobile Apps 2
R Android Zugriff auf view von MainActivity Android & Cross-Platform Mobile Apps 7
W Zur Laufzeit erstelltes MenuItem an eine View binden Android & Cross-Platform Mobile Apps 1
W Bild aus dem Internet in View bzw. ImageView laden (Fragment) Android & Cross-Platform Mobile Apps 2
J View Breite/Höhe bestimmen Android & Cross-Platform Mobile Apps 4
B Android In einem View der ersten Activity zweite anzeigen Android & Cross-Platform Mobile Apps 2
S Dynamische EditText View eingaben in Datenbank speichern Android & Cross-Platform Mobile Apps 0
V PopUp in gleicher View anzeigen Android & Cross-Platform Mobile Apps 1
R Android Warum (View view)? Android & Cross-Platform Mobile Apps 4
J Android neue View mit OnTouchListener Android & Cross-Platform Mobile Apps 0
B Eigene View xml-Layout einbinden Android & Cross-Platform Mobile Apps 1
R Problem mit View in ScrollView Android & Cross-Platform Mobile Apps 6
R Android Android.view Serializable ? Android & Cross-Platform Mobile Apps 3
M Android View zu View hinzufügen Android & Cross-Platform Mobile Apps 4
M Activity wechseln aus List View mit Android & Cross-Platform Mobile Apps 2
G canvas in view anzeigen Android & Cross-Platform Mobile Apps 10
G Fehlermeldung: "No XML content. Please add a root view or layout to your documet." Android & Cross-Platform Mobile Apps 7
E Android View zur Laufzeit hinzufügen Android & Cross-Platform Mobile Apps 4
N neuen view öffnen Android & Cross-Platform Mobile Apps 13
J id's von view komponenten werden nicht gefunden Android & Cross-Platform Mobile Apps 2
C Panel/View für Android Android & Cross-Platform Mobile Apps 3
tfa Android Layout-Probleme: View programmatisch erweitern (addContentView) Android & Cross-Platform Mobile Apps 7
G Dynamische View Inhalt -> Lagesensor Android & Cross-Platform Mobile Apps 3

Ähnliche Java Themen

Neue Themen


Oben