2015-12-13 51 views
0

我正在android工作室上構建此應用程序,我想鏈接我的按鈕與下一個活動,這是登錄屏幕。之前我使用註冊屏幕,但後來我搞砸了代碼現在它只是不工作,當我運行應用程序,並單擊註冊按鈕我的應用程序崩潰並關閉和登錄按鈕甚至沒有做任何事情。 下面是主頁面活動和登錄頁面活動的代碼 首先,我將粘貼頁面活動代碼所在的按鈕,然後是它的java類,然後我將粘貼loginpage活動,然後粘貼它的java類。 有人可以請教我如何從頭版的登錄按鈕調用登錄活動。 非常感謝你提前如何連接按鈕與android工作室上的下一個屏幕

頭版活動

<?xml version="1.0" encoding="utf-8"?> 
<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" 
tools:context=".Login"> 

<LinearLayout 

     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:weightSum="1" 
     android:background="@drawable/bg3" 
     android:gravity="center|top"> 


    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Easy Booking" 
     android:id="@+id/textView" 
     android:textSize="33dp" 
     android:gravity="center" 
     android:textColor="#0c0c0c" 
     /> 

    <Button 

     android:layout_width="98dp" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="50dp" 
     android:text="Login" 
     android:id="@+id/btLogin" 
     android:onClick="bLogin" 
     android:background="@null" 
     android:layout_gravity="center_horizontal" /> 

    <Button 
     android:layout_width="108dp" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="10dp" 
     android:text="Register" 
     android:id="@+id/btRegister" 
     android:onClick="bRegister" 
     android:background="@null" 
     android:layout_gravity="center_horizontal" /> 

</LinearLayout> 

現在它的Java類

public class Frontpage extends ActionBarActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_frontpage); 
    //OnclickButtonListener(); 
} 
public void bLogin(View view) { 

} 
public void onButtonClick(View v){ 

    if (v.getId() == R.id.btRegister) { 
     Intent i = new Intent(new Intent(Frontpage.this, Register.class)); 
     startActivity(i); 
    } 
} 
/** 
public void OnclickButtonListener(){ 
    button = (Button)findViewById(R.id.bRegister); 
    button.setOnClickListener(
      new View.OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        Intent intent = new  Intent("/Users/umairfarooq/AndroidStudioProjects/Easybooking/app/src/main/res/layo  ut/activity_register"); 
        startActivity(intent); 

       } 
      } 
    ); 
} /**@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_activity_login, 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); 
} 
*/} 
下面

是登錄活動

xmlns:tools="http://schemas.android.com/tools" 
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" 
android:background="#635b5b" 
android:orientation="vertical" 
android:layout_width="match_parent"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Login Form" 
     android:textAppearance="?android:textAppearanceLarge" 
     android:textStyle="bold" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="10dp" 
     /> 
    <EditText 
     android:layout_width="250dp" 
     android:layout_height="wrap_content" 
     android:hint="Email" 
     android:id="@+id/etUsername" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="70dp" 
     /> 
    <EditText 
     android:layout_width="250dp" 
     android:layout_height="wrap_content" 
     android:hint="Password" 
     android:id="@+id/etPassword" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="20dp" 
     android:inputType="textPassword" 
     /> 
    <Button 
     android:layout_width="100dp" 
     android:layout_height="wrap_content" 
     android:text="Login" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="10dp" 
     android:onClick="userLogin" 
     /> 
    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Register Now" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="50dp" 
     android:onClick="userReg" 
     /> 
</LinearLayout> 

現在登錄Java類

package com.example.umairfarooq.easybooking; 
import android.os.Bundle; 
import android.support.v7.app.ActionBarActivity; 
import android.view.View; 
public class Login extends ActionBarActivity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_login); 
} 
public void buttonOnClick (View v){ 
} 
} 
+0

優秀!你們所有人都很棒。無法解釋你們有多少人幫助我。非常感謝Titus和Swagata Acharyya –

+0

如果一個答案以任何方式幫助你,請將它投票。如果一個答案解決了你的問題,那麼'接受'這個答案是正確的。您會在投票上/下箭頭下方看到一個「複選標記」符號。 :) – rafid059

回答

1

問題是您的活動不包含您爲按鈕'屬性設置的方法。

對於該Frontpage活動使用的佈局,您可以更改btRegister按鈕的屬性android:onClick="onButtonClick"或創建在活動public void bRegister(View v){...}方法。

對於Login活動,佈局有兩個按鈕與他們屬性設置爲userReguserLogin,您可以創建在活動的方法或這兩個屬性的值更改爲buttonOnClick

1

當我運行應用程序,點擊註冊按鈕我的應用程序崩潰, 並關閉

正是因爲這個按鈕:

<Button 
    android:layout_width="108dp" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="10dp" 
    android:text="Register" 
    android:id="@+id/btRegister" 
    android:onClick="bRegister" 
    android:background="@null" 
    android:layout_gravity="center_horizontal" /> 

在您的FrontPage活動中需要您的FrontPage.java類中籤名爲public void bRegister(View view)的方法。由於您沒有此方法,因此崩潰。

登錄按鈕,甚至沒有做任何事情

的原因是,這個按鈕

<Button 

    android:layout_width="98dp" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="50dp" 
    android:text="Login" 
    android:id="@+id/btLogin" 
    android:onClick="bLogin" 
    android:background="@null" 
    android:layout_gravity="center_horizontal" /> 

在您的FrontPage活動需要在你的Frontpage.java類稱爲public void bLogin(View view)方法。雖然該方法存在,但您沒有任何代碼,因此它不會執行任何操作。

您需要在bLogin方法中添加正確的代碼,以便您的登錄按鈕開始運行,甚至在添加bRegister方法之前,您的註冊按鈕才能開始工作。

希望這可以幫助你。

相關問題