Войти успешно, но не удается открыть следующую активность - PullRequest
0 голосов
/ 18 мая 2011

Я успешно вошел в систему без намерения. Но когда я добавляю намерение активности клиента, при попытке входа в систему выдается ошибка принудительного закрытия. У меня есть список просмотра 5 различий. деятельность в рамках customer.java, и все они открываются без проблем. Мне интересно, почему логин выдает ошибку

Login.java

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;


public class Login extends Activity {
    private EditText etUsername;
    private Button btnLogin;
    private Button btnCancel;
    private TextView lblResult;
    /** Called when the activity is first created. */
    //@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login);

        etUsername = (EditText)findViewById(R.id.username);
        btnLogin = (Button)findViewById(R.id.login_button);
        btnCancel = (Button)findViewById(R.id.cancel_button);
        lblResult = (TextView)findViewById(R.id.result);

        btnLogin.setOnClickListener(new OnClickListener() {
            //@Override
            public void onClick(View v) {
            // Check Login
            String username = etUsername.getText().toString();

            if(username.equals("guest")){
                lblResult.setText("Login successful.");




                Intent i = new Intent("com.merrill.Customer");
                startActivity(i);


            } else {
                 lblResult.setText("Login failed. Username doesn't match.");
             }
            }
            });


            btnCancel.setOnClickListener(new OnClickListener() {
            //@Override
            public void onClick(View v) {
               // Close the application
            finish();
                }
            });
    }
}

Manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.royalcabinets.merrill"
      android:versionCode="1"
      android:versionName="1.0">


    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".Login"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    <activity android:name="com.merrill.Customer"
                  android:label="Customer Service Group">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            </activity>
       </application>

</manifest>

Ответы [ 2 ]

1 голос
/ 18 мая 2011

См. Ответ Ронни или

    Intent i= new Intent(Login.this, Customer.class);

или

Intent i= new Intent(this, Customer.class);

или

 Intent i = new Intent(getApplicationContext(), Customer.class);

и

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.royalcabinets.merrill"
      android:versionCode="1"
      android:versionName="1.0">


    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".Login"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    <activity android:name="Customer"
                  android:label="Customer Service Group">
            </activity>
       </application>

</manifest>
0 голосов
/ 18 мая 2011

Ваша проблема заключается в наличии двух точек входа для вашего приложения.У Manifest должен быть только один Activity, помеченный действием intent-filter для android.intent.action.MAIN.

Кроме того, я все еще чувствую, что в вашем коде могут быть другие источники проблем.Я предлагаю вам запустить инструмент ddms.[перейдите в терминал / командную строку и выполните файл ddms.bat в папке android-sdk\tools].Установите фильтр для печати Errors, и вы найдете какое-то осмысленное сообщение.

опубликуйте это, и мы сможем сделать это вперед - то есть, если удалить лишние MAIN Activity нет работа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...