我創建了向數據庫發送數據的註冊活動,並且該按鈕必須打開另一個活動,即MainActivity。代碼工作正常,但是這是一個問題。當按鈕被點擊時,它會響應並將信息發送到數據庫,但活動不會改變。代碼不起作用,按鈕沒有響應
如何更改代碼以打開其他活動?
RegisterRequest.java
public class RegisterRequest extends StringRequest {
private static final String REGISTER_REQUEST_URL = "http://loginacti.comli.com/Register.php";
private Map<String, String> params;
public RegisterRequest(String Expect, String Prize, String Name, String Email, Response.Listener<String> listener) {
super(Method.POST, REGISTER_REQUEST_URL, listener, null);
params = new HashMap<>();
params.put("Expect", Expect);
params.put("Prize", Prize);
params.put("Name", Name);
params.put("Email", Email);
}
@Override
public Map<String, String> getParams() {
return params;
}
RegisterActivity.java
public class RegisterActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
final EditText etUknown = (EditText) findViewById(R.id.etUknown);
final EditText etPrize = (EditText) findViewById(R.id.etPrize);
final EditText etName = (EditText) findViewById(R.id.etName);
final EditText etEmail = (EditText) findViewById(R.id.etEmail);
final Button bRegister = (Button) findViewById(R.id.bRegister);
bRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String Expect = etUknown.getText().toString();
final String Prize = etPrize.getText().toString();
final String Name = etName.getText().toString();
final String Email = etEmail.getText().toString();
Response.Listener<String> responseListener = new Response.Listener<String>(){
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
if (success){
Intent intent = new Intent(RegisterActivity.this, MainActivity.class);
RegisterActivity.this.startActivity(intent);
}else{
AlertDialog.Builder builder = new AlertDialog.Builder(RegisterActivity.this);
builder.setMessage("Register Failed")
.setNegativeButton("Retry", null)
.create()
.show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};
RegisterRequest registerRequest = new RegisterRequest(Expect, Prize, Name, Email, responseListener);
RequestQueue queue = Volley.newRequestQueue(RegisterActivity.this);
queue.add(registerRequest);
}
});
}
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView registerLink = (TextView) findViewById(R.id.eRegister);
registerLink.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent registerIntent = new Intent(MainActivity.this, RegisterActivity.class);
MainActivity.this.startActivity(registerIntent);
}
});
}
艙單
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".RegisterActivity"></activity>
</application>
activity_register.xml
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/etUknown"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="60dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:hint="Numbers" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/etPrize"
android:hint="Secret CD"
android:layout_below="@+id/etUknown"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/etUknown"
android:layout_alignEnd="@+id/etUknown" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/etName"
android:hint="Full Name"
android:layout_below="@+id/etPrize"
android:layout_alignRight="@+id/etPrize"
android:layout_alignEnd="@+id/etPrize"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:ems="10"
android:id="@+id/etEmail"
android:hint="New Email"
android:layout_below="@+id/etName"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/etName"
android:layout_alignEnd="@+id/etName" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Register"
android:id="@+id/bRegister"
android:layout_marginTop="46dp"
android:layout_below="@+id/etEmail"
android:layout_centerHorizontal="true" />
看他的代碼。 RegisterActivity在清單中 – babadaba
按下按鈕後,logcat中是否有任何錯誤? –
我有清單上的RegisterActivity。不,因爲我嘗試過真正的設備 – Tadas