App Scrollen lassen

  • 7 Antworten
  • Letztes Antwortdatum
A

audacity363

Gast
Ich bin gerade dabei eine kleine App zu schreiben die, die GPIO Pins am RaspberryPi steuern soll. Pro Pin ein Button und eine Anzeige mit ON oder OFF. An sich habe ich das auch so hinbekommen nur die Sockets und die Buttons machen mir noch Sorgen. Da ich das ganze schon auf dem PC mit Java realisiert habe weiß ich sehr genau was ich machen möchte.
Nun zu meinem Problem:
Da man 17 Pins ansteuern kann gibt es 17 Buttons. Diese passen aber natürlich nicht alle auf den Bildschirm und ab dem 10ten überlappen sie sich. Habe dazu mal ein Screenshot hochgeladen.
Habe dann ein wenig Gegoogelt da ich in dem Thema Android Programmierung ein Neuling bin und habe die Funktion ScrollView gefunden. Nur dazu habe ich jetzt mehrer Anwendungsmöglichkeiten gefunden:

1.)
Das ganze in die main.xml zu Packen:
Code:
Code:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:stretchColumns="1"
        >
        <!-- Der ganze Rest -->
    </TableLayout>
</ScrollView>
Bei dieser Möglichkeit kann ich die App nicht mehr Starten es kommt sofort die Meldung: "Steuerung wurde angehalten" (Die App heißt Steuerung).

2.) Das ganze irgendwie mit:
Code:
Code:
ScrollView.Panel.AddView(...)
zu implementieren aber da steh ich vor einem ganz großen Rätzel wie ich da meine main einbinden soll. Habe jegliche Kombinationen Versucht aber Eclipse schlägt mir nicht die Sachen vor die ich brauche.
 

Anhänge

  • Screenshot_2013-07-15-22-34-10.png
    Screenshot_2013-07-15-22-34-10.png
    28 KB · Aufrufe: 227
Nimm doch switches, die zeigen on/off direkt auf dem Button an. Dann alles in ein vertikales linearlayout und das scrollView drum.

Sonst ne custom ListView würde ich nutzen. Gibts sehr viele Beispiele im Netz.

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
 
Erstmal danke für die schnelle Antwort.

Zu Punkt 1: Habe vergessen noch etwas dazu zu sagen: Die Buttons sind editierbar. Also man kann reinschreiben mit welcher Funktion sie belegt wurden. Dies geht bei Switches ja nicht und dann bräuchte ich auch wieder ein Text Feld welches die Funktion anzeigt.

zu Punkt 2: Ok Danke werde ich mir mal ansehen.
 
Guten Tag

Ich hab es jetzt zwar geschaft, aber sobalt ich einen ClickListner hinzufüge kann ich die App nicht mehr starten.

Code:
b1.setOnClickListener(this);

oder:

Code:
b1.setOnClickListener(new OnClickListener()
{
	@Override
	public void onClick(View v) 
	{
		Box1.setText("ON");
	}
});
 
Sehr präzise ausgedrückt, wo der fehler liegen könnte ^^

mach mal View.OnClickListener()
 
Ohh Entschuldigung habe es von Unterwegs per Handy getippt und dabei hat es wohl ein wenig verschluckt..
Also hier mal eben den kompletten Code:
Code:
b1 = (Button) findViewById(R.id.Button1);
    	Box1 = (TextView) findViewById(R.id.Box1);
    	
        super.onCreate(savedInstanceState);
        setContentView(R.layout.listview_main);
 
        Box = new String[] {""};
 
        Button= new String[] {""};
        
        list = (ListView) findViewById(R.id.listview);
        
        adapter = new ListViewAdapter(this, Box, Button);
        
        list.setAdapter(adapter);
        
        b1.setOnClickListener(new View.OnClickListener()
        {
        	@Override
        	public void onClick(View v) 
        	{
        		Box1.setText("ON");
        	}
        });

Sobald ich den ClickListener auskommentiere funktioniert alles wieder. Was müsst ihr noch wissen?
 
Ich nehme mal an, dass dieses Button1 und Box1 in dem item-layout der ListView steht. Wenn dem so ist kannst du den Listener nicht einfach in die Activity schreiben. Der Button wird so vermutlich gar nicht gefunden und du hast ne NullPointerException.

Du brauchst also einen CustomAdapter für die ListView(s.Netz) oder kannst versuchen im XML dem button das onClick-Attribut zu geben. Dann musst du in der Activity allerdings unterscheiden welcher button geklickt wurde.

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
 
Habe es jetzt einfach so gelöst das alles auf einer Seite ist. An sich funktioniert jetzt auch alles.
 

Anhänge

  • Screenshot_2013-07-19-13-42-41.png
    Screenshot_2013-07-19-13-42-41.png
    29,6 KB · Aufrufe: 184

Ähnliche Themen

G
Antworten
0
Aufrufe
103
Gerdchen07
G
G
Antworten
1
Aufrufe
364
Gerdchen07
G
G
Antworten
13
Aufrufe
575
Gerdchen07
G
L
Antworten
2
Aufrufe
466
Lexub
L
migi01
Antworten
26
Aufrufe
1.912
migi01
migi01
Zurück
Oben Unten