Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Java
You last visited: Today at 02:27

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Android App Button reagiert nicht

Discussion on Android App Button reagiert nicht within the Java forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2008
Posts: 105
Received Thanks: 14
Android App Button reagiert nicht

Guten Abend zusammen,

Ich bin gerade dran Java in Form von App Programmierung zu erlernen.
Nun habe ich 2 Layouts:
- Login
- Register

Ich starte jeweils auf dem Login Layout.
Ich möchte nun wenn ich auf dem Login Layout auf den Register Button klicke auf das neue Layout Register gelangen.
Das funktioniert soweit auch.

Nun aber für das Register Layout habe ich eine neue Java class erstellt.
Zuerst hatte ich das Problem dass ich findViewById nicht brauchen konnte weil es irgendwie nicht zu der Activity gehört oder so...

Jetzt aber wo ich das gelöst habe, kann ich zwar findViewById anwenden, finde den Button auch aber wenn ich dann das Click Event mache, Funktioniert es einfach nicht...
Was mache ich falsch ?


Code:
package com.example.lukas.bild_liker;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import org.w3c.dom.Text;

public class RegisterHandler extends AppCompatActivity {

    [MENTION=295804]Override[/MENTION]
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Button btnRegister = (Button) findViewById(R.id.btnRegister);
        btnRegister.setOnClickListener(new View.OnClickListener() {
            [MENTION=295804]Override[/MENTION]
            public void onClick(View v) {
                test();
            }
        });
    }

    public void test() {
        Log.d("test", "onClick: test");
        TextView txtTest = (TextView) findViewById(R.id.txtTest);
        String test = "this is a test";
        txtTest.setText(test);
    }
}
luki.dc is offline  
Old 09/08/2016, 00:32   #2
 
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 444
Fehlt nicht ein setContentView(R.layout.***)?
algernong is offline  
Old 09/10/2016, 00:17   #3
 
NotThatBad's Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 802
Received Thanks: 347
Quote:
Originally Posted by luki.dc View Post
Guten Abend zusammen,

Jetzt aber wo ich das gelöst habe, kann ich zwar findViewById anwenden, finde den Button auch aber wenn ich dann das Click Event mache, Funktioniert es einfach nicht...
Was mache ich falsch ?


das tut nicht, weil du deiner onClick methode als parameter immer view mitgeben musst, also

public void test(View view) {...}
NotThatBad is offline  
Old 09/10/2016, 15:08   #4
 
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 444
Macht er:
Code:
public void onClick(View v) {
Die test() Methode ruft er selber in seinem Listener auf.
algernong is offline  
Old 09/10/2016, 19:09   #5
 
NotThatBad's Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 802
Received Thanks: 347
oh stimmt ganz übersehen, find die art irgendwie total unübersichtlich, v.a. wenns mal etwas mehr code wird

aber wie du schon gesagt hast, setContentView() fehlt auch
NotThatBad is offline  
Old 10/01/2016, 16:02   #6
 
XYZ-Cannon's Avatar
 
elite*gold: 0
Join Date: Jul 2011
Posts: 1,773
Received Thanks: 866
Quote:
Originally Posted by luki.dc View Post

Code:
package com.example.lukas.bild_liker;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import org.w3c.dom.Text;

public class RegisterHandler extends AppCompatActivity {

        [MENTION=295804]Override[/MENTION]
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Button btnRegister = (Button) findViewById(R.id.btnRegister);
        btnRegister.setOnClickListener(new View.OnClickListener() {
                [MENTION=295804]Override[/MENTION]
            public void onClick(View v) {
                test();
            }
        });
    }

    public void test() {
        Log.d("test", "onClick: test");
        TextView txtTest = (TextView) findViewById(R.id.txtTest);
        String test = "this is a test";
        txtTest.setText(test);
    }
}
Code:
public class RegisterHandler extends AppCompatActivity {

        [MENTION=295804]Override[/MENTION]
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout."activity");
    }

    public void test(View view) {
        Log.d("test", "onClick: test");
        TextView txtTest = (TextView) findViewById(R.id.txtTest);
        String test = "this is a test";
        txtTest.setText(test);
    }
}
Wenn du im Android Studio programmierst, kannst das Ganze so abkürzen. In der View musst du nur in der xml die Eigenschaft

Code:
android:onClick="test"
hinzufügen

Code:
<Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Test"
                android:id="@+id/btn_test"
                android:layout_gravity="center"
                android:onClick="test" />
So könnte es dann aussehen. Damit sparst du dir viel Zeit und Code.
XYZ-Cannon is offline  
Reply


Similar Threads Similar Threads
Explorer Reagiert nicht | League of Legends startet überhaupt nicht
05/12/2014 - Technical Support - 0 Replies
Hi, meine Schwester hat an meinem PC die Dienste verstellt. Leider kann ich keine Systemwiederherstellung durchführen. Seit der Verstellung bemerke ich 2 Probleme: 1.: Der Windows Explorer reagiert/laggt ab und zu. Hauptsächlich auf dem Desktop und nach dem Starten, wenn ich ein Icon anklicke bspw. Eigene Dateien öffnet sich der Ordner nicht und das Icon wird auch nicht markiert etc. Nach 1 Minute öffnet sich dann alles was ich vorher angeklickt habe. 2.: League of Legends lässt sich...
Programm reagiert nicht (will aber nicht über Taskmanager schließen)
03/16/2013 - Technical Support - 1 Replies
Moin Leute, Ich habe ein großes Problem ich habe ein Lied bei Fl Studio erstellt und wollte es rendern, weil es eben halt fertig ist. Jetzt bleibt er einfach hängen und kann nichts anderes machen außer den Prozess im Taskmanager schließen. Ich will es aber nicht weil sonst die ganze arbeit umsonst wäre. Was kann ich tun?
Windows 7 64 Bit - Battlefield 3 startet nicht und System reagiert nicht.
10/03/2012 - Battlefield - 6 Replies
Hi Zusammen, ich wollte heute BF3 zocken, klicke wie gewohnt auf den Icon und plötzlich geht gar nix mehr. Cursor bewegt sich nicht, Bildschirm komplett auf Standbild. Konnte das Problem auch nicht lösen, musste dann das System manuell herunterfahren (Knopfdruck). Jemand eine Ahnung, woran das liegt? Habe BF3 zuvor schon oft ohne Probleme spielen können, darum habe ich keine Ahnung woher plötzlich dieser Fehler kommt. Mein System: Intel Core i7 3770k @ 3,5GHz Gigabyte Geforce GTX 680...



All times are GMT +1. The time now is 02:27.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.