0

I'm new at this but I already made a small app that worked the same way. I can't see what I'm doing wrong because the code looks quiet the same as my previous app.

When I run it or debug my app it shows my layout on my emulator so it does load the page that has to be loaded but that's all it does, it doesn't listen to button clicks. I also gives me no errors.

Here's my XML code for fragment_main.xml

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".MainActivity$PlaceholderFragment">

 <TextView
        android:text="Eventaris"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:textSize="100px"
        android:textStyle="bold"
        android:id="@+id/lblEventaris"
        />

    <LinearLayout
        android:layout_width="500px"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:orientation="vertical"
        android:id="@+id/login">


     <EditText
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:hint="Gebruikersnaam"
         android:id="@+id/txtGebruikersnaam"/>

     <EditText
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:hint="Wachtwoord"
         android:inputType="textPassword"
         android:layout_below="@id/txtGebruikersnaam"
         android:id="@+id/txtWachtwoord"/>

     <Button
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:text="Inloggen"
         android:id="@+id/btnInloggen"
         android:layout_below="@id/txtWachtwoord"/>

    </LinearLayout>

     <RelativeLayout
         android:layout_width="fill_parent"
         android:layout_height="fill_parent"
         android:gravity="center"
         android:layout_below="@id/login">

     <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="nog geen account?"
         android:gravity="center"
         android:id="@+id/lblRegistratie"/>

      <Button
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Registeren"
          android:id="@+id/btnRegistreren"
          android:layout_below="@id/lblRegistratie"/>
         </RelativeLayout>

</RelativeLayout>

Here's my fragmennt activity MainFragment.Java

    package com.example.arno.eventaris;

import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;

import java.sql.SQLException;

/**
 * Created by Arno on 28/04/2015.
 */
public class MainFragment extends Fragment {

    private OnMainFragmentInteractionListener mListener;
    private View view;

    public MainFragment()
    {
        //required empty public constructor
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        view=inflater.inflate(R.layout.fragment_main, container, false);
        Button btnInloggen = (Button) view.findViewById(R.id.btnInloggen);
        btnInloggen.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    inloggen();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

        });
        Button btnRegistreren = (Button) view.findViewById(R.id.btnRegistreren);
        btnRegistreren.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v){
                navigeerRegistratie();
            }
        });
        return view;
    }

    @Override
    public void onAttach(Activity activity)
    {
        super.onAttach(activity);
        try{
            mListener = (OnMainFragmentInteractionListener) activity;

        }
        catch (ClassCastException e)
        {
            throw new ClassCastException(activity.toString() + "must implement OnFragmentInteractionListener");
        }
    }

    public void inloggen() throws SQLException {
        EditText gebr=(EditText) view.findViewById(R.id.txtGebruikersnaam);
        EditText wachtw=(EditText) view.findViewById(R.id.txtWachtwoord);
        String gebruiker = gebr.getText().toString();
        String wachtwoord = wachtw.getText().toString();

        mListener.login(gebruiker, wachtwoord);
    }

    public void navigeerRegistratie()
    {
        mListener.navigeerRegistratie();
    }

    @Override
    public void onDetach()
    {
        super.onDetach();
        mListener = null;
    }

    public interface OnMainFragmentInteractionListener {
        //Todo: Update argument type and name
        public void login(String gebruiker, String wachtwoord) throws SQLException;
        public void navigeerRegistratie();
    }



}

Here is my Main Activity MainActivity.java

package com.example.arno.eventaris;

import android.app.DialogFragment;
import android.database.Cursor;
import android.graphics.Color;
import android.net.Uri;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;
import android.widget.LinearLayout;
import android.widget.Toast;

import com.example.arno.eventaris.Database.DBAdapter;

import java.sql.SQLException;


public class MainActivity extends ActionBarActivity implements MainFragment.OnMainFragmentInteractionListener,RegistratieFragment.OnRegistratieFragmentInteractionListener{

    private Cursor gebruikerCursor;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment())
                    .commit();
        }
    }


    @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 login(String gebruiker, String wachtwoord) throws SQLException {
        DBAdapter db = new DBAdapter(this);

        db.open();

        gebruikerCursor = db.getGebruiker(gebruiker);
        if(gebruikerCursor.moveToFirst()) {
            gebruikerCursor.moveToFirst();
            String wwControle = gebruikerCursor.getString(gebruikerCursor.getColumnIndex("wachtwoord"));

            if (wachtwoord.equals(wwControle)) {

                HomeFragment fragment = new HomeFragment();
                Bundle bundle = new Bundle();
                bundle.putString("gebruikersnaam", gebruiker);
                fragment.setArguments(bundle);
                getFragmentManager().beginTransaction().replace(R.id.container, fragment).commit();
            } else {
                DialogFragment errorlogin = new ErrorLogin();
                errorlogin.show(getFragmentManager(), "Wachtwoord incorrect!");
            }
        }
        else
        {
            DialogFragment errorlogin = new ErrorLogin();
            errorlogin.show(getFragmentManager(), "Gebruikersnaam incorrect!");
        }
        db.close();
    }

    @Override
    public void navigeerRegistratie() {
        getFragmentManager().beginTransaction().replace(R.id.container, new RegistratieFragment()).commit();
    }

    @Override
    public void registreren(String gebruiker, String voornaam, String naam, String email, String wachtwoord, String herhaalWachtwoord) {
        if(wachtwoord.equals(herhaalWachtwoord)) {
            DBAdapter db = new DBAdapter(this);

            db.open();
            long id = db.insertGebruiker(gebruiker, voornaam, naam, email, wachtwoord);
            getFragmentManager().beginTransaction().replace(R.id.container, new MainFragment()).commit();
        }
        else
        {
            DialogFragment errorregistratie = new ErrorRegistratie();
            errorregistratie.show(getFragmentManager(), "Wachtwoorden komen niet overeen!");
        }
    }

    /**
     * A placeholder fragment containing a simple view.
     */
    public static class PlaceholderFragment extends Fragment {

        public PlaceholderFragment() {
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_main, container, false);
            return rootView;
        }
    }
}

And as last here is my activity_main.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container"
    android:layout_width="match_parent" android:layout_height="match_parent"
    tools:context=".MainActivity" tools:ignore="MergeRootFrame" />

Thanks in advance!

HeadachePanda
  • 175
  • 1
  • 12

1 Answers1

0

Fixed it by making a new project with the same code, had to be a problem way deeper than my code.

HeadachePanda
  • 175
  • 1
  • 12