Impressum in die App einbinden

  • Antworten:17
  • Bentwortet
JoboDeveloper
  • Forum-Beiträge: 208

08.02.2015, 21:26:42 via App

Hallo alle zusammen,
ich habe eine App geschrieben, wo man einen Text in eine Zeile eingibt, einen Button klickt und der Text schließlich vorgelesen wird.(Habe das ganze auf einer Blank Activity geschrieben/abgeschrieben zum Üben)
Nun möchte ich einen Button machen wo man drauf drückt und dann kommt eine TextView wo ich dann bissl was über mich schreibe. (Impressum)
Allerdings weiß ich nicht wie ich den Code schreiben soll.
Kann mir da jemand weiterhelfen oder den Code schreiben?
Danke für eure Antworten!
LG JoboDeveloper

— geändert am 08.02.2015, 21:28:03

LG JoboDeveloper

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

08.02.2015, 22:02:46 via App

Am einfachsten:
ButtonClick-> alertDialog welcher dein Impressum zeigt.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
JoboDeveloper
  • Forum-Beiträge: 208

08.02.2015, 22:18:53 via App

Danke !! Genau das wollte ich ! :-)

LG JoboDeveloper

Antworten
JoboDeveloper
  • Forum-Beiträge: 208

09.02.2015, 16:33:40 via App

Pascal P.

Am einfachsten:
ButtonClick-> alertDialog welcher dein Impressum zeigt.

Aber was macht der AlertDialog bzw kannst du mir bitte die einzelnen Schritte sagen? Ich will es ja nur lernen.
LG JoboDeveloper

LG JoboDeveloper

Antworten
JoboDeveloper
  • Forum-Beiträge: 208

09.02.2015, 16:57:38 via Website

Bitte sei nicht sauer auf mich aber ich versteh das einfach nicht. Durch was wird denn der alertDialog aufgerufen?
ich habe jetzt den Code von deiner Seite weiß aber nicht was ich damit Anfangen soll... Ich stelle mich nun mal manchmal bisschen blöd.
Könntest du mir nochmal helfen und sagen wo ich welchen Code wo hinschreiben soll?
LG JoboDeveloper

— geändert am 09.02.2015, 16:58:04

LG JoboDeveloper

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

09.02.2015, 17:09:48 via Website

AlertDialog alertDialog = new AlertDialog.Builder(
                    AlertDialogActivity.this).create(); 

    // Setting Dialog Title
    alertDialog.setTitle("Alert Dialog");

    // Setting Dialog Message
    alertDialog.setMessage("Welcome to AndroidHive.info");

    // Setting Icon to Dialog
    alertDialog.setIcon(R.drawable.tick);

    // Setting OK Button
    alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
            // Write your code here to execute after dialog closed
            Toast.makeText(getApplicationContext(), "You clicked on OK", Toast.LENGTH_SHORT).show();
            }
    });

    // Showing Alert Message
    alertDialog.show();

Benutztung ist damit klar?
Jetzt kommt es darauf an, bei welcher aktion der Code ausgeführt deren soll.

Sei es bei Button click muss der Code in die onClick des Buttons.

LG Pascal //It's not a bug, it's a feature. :) ;)

JoboDeveloper

Antworten
JoboDeveloper
  • Forum-Beiträge: 208

09.02.2015, 17:11:18 via Website

Ja aber ich frag mich halt wo der Code hinsoll? In die MainActivity?
LG JoboDeveloper

LG JoboDeveloper

Antworten
JoboDeveloper
  • Forum-Beiträge: 208

09.02.2015, 17:14:37 via Website

Also ich hab das jetzt in die OnClick eingefügt, aber jetzt leuchtet da das was ich hier Fett gemacht habe rot. Was soll ich nun machen?

AlertDialog alertDialog = new AlertDialog.Builder(
AlertDialogActivity.this).create();

// Setting Dialog Title
alertDialog.setTitle("Alert Dialog");

// Setting Dialog Message
alertDialog.setMessage("Welcome to AndroidHive.info");

// Setting Icon to Dialog
alertDialog.setIcon(R.drawable.tick);

// Setting OK Button
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
        // Write your code here to execute after dialog closed
        Toast.makeText(getApplicationContext(), "You clicked on OK", Toast.LENGTH_SHORT).show();
        }
});

// Showing Alert Message
alertDialog.show();

LG JoboDeveloper

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

09.02.2015, 17:59:10 via Website

Lerne mal bitte dei Java/Android Grundlagen!!

   new AlertDialog.Builder(Context c);

Zum Instanzieren benötigt man einen Context.
Das ist meisten ein this wenn der Code in einer Activity steht.

also

AlertDialog alertDialog = new AlertDialog.Builder(this).create();

— geändert am 09.02.2015, 17:59:38

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
JoboDeveloper
  • Forum-Beiträge: 208

09.02.2015, 18:25:37 via Website

Oke Vielen Dank!
Jetzt hab ich nur noch ein Problem. Ich öffne jetzt den alertDialog mit dem falschen Button.
Kann mir jemand sagen was ich jetzt nur noch umstellen muss?

public class MainActivity extends ActionBarActivity implements TextToSpeech.OnInitListener, View.OnClickListener{

private TextToSpeech tts;




@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tts = new TextToSpeech(this, this);
    tts.speak("HWillkommen in ISay", TextToSpeech.QUEUE_FLUSH, null);

}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}


@Override
public void onInit(int argO){
    tts.speak("Willkommen in ISay", TextToSpeech.QUEUE_FLUSH, null);
    tts.setLanguage(Locale.GERMAN);
    Button button = (Button) findViewById(R.id.buttonsages);
    button.setOnClickListener(this);
}


@Override
public void onClick(View v) {
    tts.speak("Willkommen in ISay", TextToSpeech.QUEUE_FLUSH, null);
    EditText editText = (EditText)findViewById(R.id.editText);
    tts.speak(editText.getText().toString(), TextToSpeech.QUEUE_FLUSH, null);
    AlertDialog alertDialog;

    alertDialog = new AlertDialog.Builder(this).create();

    // Setting Dialog Title
    alertDialog.setTitle("Impressum");

    // Setting Dialog Message
    alertDialog.setMessage("Wir sind junge Entwickler, die Dienstprogramme, Spiele und Tools fur Android- und Apple-Devices programmieren. Falls Sie Fragen, Wünschen oder  Anregungen zu unseren Applikationen haben, können Sie uns unter nachfolgender eMail-Adresse kontaktieren.");

    // Setting Icon to Dialog


    // Setting OK Button
    alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            // Write your code here to execute after dialog closed

        }
    });

    // Showing Alert Message
    alertDialog.show();
}

Danke :)

LG JoboDeveloper

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

09.02.2015, 18:32:59 via Website

@Override
public void onInit(int argO){
tts.speak("Willkommen in ISay", TextToSpeech.QUEUE_FLUSH, null);
tts.setLanguage(Locale.GERMAN);
Button button = (Button) findViewById(R.id.buttonsages);
button.setOnClickListener(this);
///// Hier musst du deinen Button noch laden und und den onClick listener auf this setzen.
}

@Override
public void onClick(View v) {
tts.speak("Willkommen in ISay", TextToSpeech.QUEUE_FLUSH, null);
EditText editText = (EditText)findViewById(R.id.editText);
tts.speak(editText.getText().toString(), TextToSpeech.QUEUE_FLUSH, null);

//Hier musst du dann die ID lesen mit v.getId(); und dann zwischen den buttons wechseln, mit switch und case
AlertDialog alertDialog;

alertDialog = new AlertDialog.Builder(this).create();

// Setting Dialog Title
alertDialog.setTitle("Impressum");

// Setting Dialog Message
alertDialog.setMessage("Wir sind junge Entwickler, die Dienstprogramme, Spiele und Tools fur Android- und Apple-Devices programmieren. Falls Sie Fragen, Wünschen oder  Anregungen zu unseren Applikationen haben, können Sie uns unter nachfolgender eMail-Adresse kontaktieren.");

// Setting Icon to Dialog


// Setting OK Button
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
        // Write your code here to execute after dialog closed

    }

});

// Showing Alert Message
alertDialog.show();

}

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
JoboDeveloper
  • Forum-Beiträge: 208

09.02.2015, 18:53:57 via Website

Habe beides jetzt gemacht, aber jetzt tut der Impressum Button nichts. Ich weiß es ist eine Qual mit mir aber helf mir noch einmal bitte.
Mein Code:

public class MainActivity extends ActionBarActivity implements TextToSpeech.OnInitListener, View.OnClickListener {

private TextToSpeech tts;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tts = new TextToSpeech(this, this);
    tts.speak("HWillkommen in ISay", TextToSpeech.QUEUE_FLUSH, null);

}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}


@Override
public void onInit(int argO) {
    tts.speak("Willkommen in ISay", TextToSpeech.QUEUE_FLUSH, null);
    tts.setLanguage(Locale.GERMAN);
    Button button = (Button) findViewById(R.id.buttonsages);
    button.setOnClickListener(this);
    Button b = (Button) findViewById(R.id.impressum);
    button.setOnClickListener(this);
}


@Override
public void onClick(View v) {
    tts.speak("Willkommen in ISay", TextToSpeech.QUEUE_FLUSH, null);
    EditText editText = (EditText) findViewById(R.id.editText);
    tts.speak(editText.getText().toString(), TextToSpeech.QUEUE_FLUSH, null);

    switch (v.getId()) {
        case R.id.impressum: {


            AlertDialog alertDialog;

            alertDialog = new AlertDialog.Builder(this).create();

            // Setting Dialog Title
            alertDialog.setTitle("Impressum");

            // Setting Dialog Message
            alertDialog.setMessage("Wir sind junge Entwickler, die Dienstprogramme, Spiele und Tools fur Android- und Apple-Devices programmieren. Falls Sie Fragen, Wünschen oder  Anregungen zu unseren Applikationen haben, können Sie uns unter nachfolgender eMail-Adresse kontaktieren.");

            // Setting Icon to Dialog


            // Setting OK Button
            alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    // Write your code here to execute after dialog closed

                }
            });

            // Showing Alert Message
            alertDialog.show();
        }
    }
}

}

LG JoboDeveloper

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

09.02.2015, 18:56:14 via Website

Schau doch bei sowas Beispiele aus dem Inet an!
Einfacher anfängerfehler:
am dene der switch, break; oder return; vergessen;

.
.
.
  alertDialog.show();
break;
        }

LG Pascal //It's not a bug, it's a feature. :) ;)

JoboDeveloper

Antworten
JoboDeveloper
  • Forum-Beiträge: 208

09.02.2015, 19:19:01 via Website

Genau wegen sowas habe ich diesen Thread erstellt, damit ich mich an EINE Person wende und hier nicht alle Langweile.

[https://www.nextpit.de/forum/616486/suche-einen-ansprechpartner-fuer-alles-rund-um-android#2164802][1]

Und ich stör nochmal, weil das break hat mir nix gebracht, weil wenn ich den Button drücke kommt immer noch nix, aber ich verstehe es jetzt immer noch nicht warum es nicht geht.

Aber ich wollte mich trotzdem schon mal bei dir bedanken und könntest du nochmal schauen warum der Button immer noch nicht geht ? Bitte.

LG JoboDeveloper

LG JoboDeveloper

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

09.02.2015, 19:21:59 via Website

Solche fehler übersieht man liecht:

Button b = (Button) findViewById(R.id.impressum);
button.setOnClickListener(this);

hier definierst du einen Button b, setzt aber den listener nicht auf b sondern auf deinen anderen Button.
Typischer Copy&Paste oder autocorrect Fehler.

LG Pascal //It's not a bug, it's a feature. :) ;)

JoboDeveloper

Antworten
JoboDeveloper
  • Forum-Beiträge: 208

09.02.2015, 19:30:00 via Website

Also muss ich das this in button.setOnClickListener(this); durch button.setOnClickListener((View.OnClickListener) b1); ersetzten?

LG JoboDeveloper

Antworten
JoboDeveloper
  • Forum-Beiträge: 208

09.02.2015, 19:38:28 via Website

Oke habe soeben meinen Fehler gefunden.

Vielen Vielen Dank für deine Geduld Pascal !!

LG JoboDeveloper

LG JoboDeveloper

Antworten