在Android中使用按钮打开另一个活动

3

我必须做错了什么。我在第一个活动中有这段代码:

package com.Trenton.waziapp;



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

public class WaziLoginScreen extends Activity implements OnClickListener{

EditText etUsername, etPassword;
Button bLogin;
Class ourClass;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.wazi_login_screen);

    etUsername = (EditText) findViewById(R.id.etUsername);
    etPassword = (EditText) findViewById(R.id.etPassword);
    bLogin = (Button) findViewById(R.id.bLogin);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.wazi_login_screen, menu);
    return true;
}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    switch(v.getId()){
    case R.id.bLogin:

        Intent a = new Intent(WaziLoginScreen.this, ProfileScreen.class);
        startActivity(a);
        break;

    }
}

这里我做错了什么,无法打开其他活动ProfileScreen?
我的清单文件包含以下活动条目-
    <activity
        android:name=".ProfileScreen"
        android:label="@string/title_activity_profile_screen">
    </activity>

什么是异常后日志记录(log cat)? - Pragnani
而且... 发生了什么?有错误消息吗?应用程序崩溃了吗?你试过调试吗?你试过添加一些日志语句以查看正在调用什么吗? - Matt Wolfe
感谢您告诉我们您正在尝试什么。 :) - AAnkit
在哪里是onCreate...发布logcat... - Pragnani
3个回答

4

你忘记设置onclickListener了......试试这个

yourButtonObject.setOnClickListener(this);

@user2046848 我没有乞求接受...这就是为什么我保留了“if”条件...他说谢谢已经足够了... - Pragnani

3

在WaziLoginScreen类的OnCreate方法中编写以下代码 -

yourButtonObject.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        Intent a = new Intent(WaziLoginScreen.this, ProfileScreen.class);
        startActivity(a);
    }
});

这就是了。


1
我不能实现OnClickListener并使用我上面所做的吗? - DDukesterman
是的,你可以这样做,只需在onCreate方法中添加以下代码:bLogin.setOnClickListener(this); 这也可以完成工作。朋友,放松心情,不用担心。 - Shridutt Kothari
@DDukesterman请点赞以示感谢,并将答案标记为有帮助。 - Shridutt Kothari
@shriduttkothari 删除一篇帖子。 - Pragnani

0
请使用以下代码。
package com.Trenton.waziapp;

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

public class WaziLoginScreen extends Activity {

EditText etUsername, etPassword;
Button bLogin;
Class ourClass;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.wazi_login_screen);

    etUsername = (EditText) findViewById(R.id.etUsername);
    etPassword = (EditText) findViewById(R.id.etPassword);
    bLogin = (Button) findViewById(R.id.bLogin);

    bLogin.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        Intent a = new Intent(WaziLoginScreen.this, ProfileScreen.class);
        startActivity(a);
    }
 }); 
 }

          @Override
           public boolean onCreateOptionsMenu(Menu menu) {
                  // Inflate the menu; this adds items to the action bar if it is present.
                  getMenuInflater().inflate(R.menu.wazi_login_screen, menu);
                 return true;
          }

}

就这样了,朋友们,享受吧。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接