Aufruf von einer Classe

M

Mits

Neues Mitglied
0
Hallo Leute!

Ich komm hier nicht ganz weiter, besser gesagt fehlt mir da der Durchblick und das wissen.

Ich hab eine Classe erstellt, pdf in dieser Classe wird ein PDF erstellt.

jetzt möchte ich dieses erstellen des PDF´s über einen Button aufrufen, aber ich schaff es nicht das er mir die class wirklich aufruft, was mach ich falsch?

Hier mal der Code:
Code:
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.Date;
 
import com.itextpdf.text.Document;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
 
public class pdf {
 
    public static void MAIN(String[] args) {
        try {
            OutputStream file = new FileOutputStream(new File("test.pdf"));
 
            Document document = new Document();
            PdfWriter.getInstance(document, file);
 
            document.open();
            document.add(new Paragraph("Hello World, iText"));
            document.add(new Paragraph(new Date().toString()));
 
            document.close();
            file.close();
 
        } catch (Exception e) {
 
            e.printStackTrace();
        }
    }
}

Code:
pdfButton = (Button) findViewById(R.id.buttonpdf);
        pdfButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                new pdf();

            }

        });

Bin für jeden Tip dankbar!

lg
Jörg
 
Bitte, bitte erst Java lernen, und nicht Code aus dem Internet zusammenkopieren und gleich mit Android programmieren. Das führt nur zu Frustration und im besten Fall zu schlechten Apps im Market!

Kurz zum Grundsätzlichem:
Eine Klasse dient dazu, Objekte durch Variablen und Methoden zu modellieren.
Statische ("static") Methoden gehören zur Modellierung allerdings nicht dazu, weil diese unabhängig vom jeweiligen aus dieser Klasse instantiiertem Objekt sind.

Du erstellst hier eine Klasse "pdf" (Klassennamen sollten groß geschrieben werden!) und gibst ihr eine statische Methode "MAIN".
Wenn du nun ein Objekt aus dieser Klasse erstellst (new pdf()) passiert rein gar nichts! Das Objekt besitzt keinen Konstruktor (als eine Methode, die aufgerufen wird, wenn du "new pdf()" schreibst), keine Variablen, keine Methoden.

Das einzige, was du machen könntest wäre pdf.MAIN(null); zu schreiben. Das String-Array als Übergabe-Parameter findet sowieso keine Anwendung (deswegen "null").

Die von dir deklarierte Main-Methode dient üblicherweise (klein geschrieben!) in herkömmlichen Java-Programmen als Einstiegspunkt (public static void main(String[] args){}) - bei Android fällt das weg! Also bitte nenne diese Methode anders, schmeiß den Übergabeparameter und das "static" weg und schreib in deiner onClick(): new pdf().meinneuermethodenname();
 
Hallo!

Danke für die Hilfe!

Ich habs schon umgeschrieben, hatte nur einen Denkfehler drinnen.

Jetzt funkt alles!

Danke

lg
Jörg
 

Ähnliche Themen

Helmut1A
  • Helmut1A
Antworten
7
Aufrufe
1.125
Helmut1A
Helmut1A
D
  • Data2006
Antworten
14
Aufrufe
483
jogimuc
J
A
Antworten
10
Aufrufe
1.016
swa00
swa00
Zurück
Oben Unten