Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中单击按钮时,活动未移动到下一个活动?_Android_Android Activity_Imagebutton - Fatal编程技术网

在android中单击按钮时,活动未移动到下一个活动?

在android中单击按钮时,活动未移动到下一个活动?,android,android-activity,imagebutton,Android,Android Activity,Imagebutton,我试图通过单击ImageButton从一个活动移动到另一个活动。但当我单击to按钮时,它不会移动到我在代码中指定的活动,甚至它也不会抛出错误。我不明白问题出在哪里 以下是调用下一个活动的代码: package com.birthdayreminder; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.v

我试图通过单击
ImageButton
从一个活动移动到另一个活动。但当我单击to按钮时,它不会移动到我在代码中指定的活动,甚至它也不会抛出错误。我不明白问题出在哪里
以下是调用下一个活动的代码:

    package com.birthdayreminder;

    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.ImageButton;
    import android.widget.TextView;

       public class Reminder extends Activity {

ImageButton view, add, edit;

TextView tvadd, tvedit, tvview;

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

}

public void innicialize() {

    // assigning buttons
    view = (ImageButton) findViewById(R.id.bView);
    add = (ImageButton) findViewById(R.id.bAdd);
    edit = (ImageButton) findViewById(R.id.bEdit);

    // assign textview
    tvadd = (TextView) findViewById(R.id.tvAdd);
    tvedit = (TextView) findViewById(R.id.tvEdit);
    tvview = (TextView) findViewById(R.id.tvView);




add.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        Intent i=new Intent(Reminder.this, Addreminder.class);
        startActivity(i);
    }
});

       edit.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // enter the code for bEditBtn click here
    }
});

      view.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // enter the code for bViewBtn click here
    }
    });
}

   } 
我还在
manifest.xml
中声明了类名,但它不起作用

Logcat日志文件:点击按钮后最后一个Logcat文件的5行:

    05-15 18:19:25.495: W/AudioFlinger(33): write blocked for 69 msecs, 1245 delayed                
    writes, thread 0xc658
    05-15 18:19:28.964: I/ActivityManager(60): Starting: Intent {         
    act=com.birthdayreminder.REMINDER cmp=com.birthdayreminder/.Reminder } from pid 548
    05-15 18:19:29.409: I/ActivityManager(60): Displayed  
    com.birthdayreminder/.Reminder: +426ms

尝试使用getApplicationContext()代替余数。这将使您在“添加”按钮上设置onClickListener

btnAdd.setOnClickListener(this);
同时检查

您的
v.getId()
案例R.id.bAdd:
是否相同?
调试并检查您的案例R.id.bAdd:是否正在执行。

将第一个活动中的按钮分别初始化为

 Button bAddbutton= (Button) findViewById(R.id.bAdd);
    Button bEditBtn= (Button) findViewById(R.id.bEdit);
    Button bViewBtn= (Button) findViewById(R.id.bView);
然后为每个按钮添加单独的onClick侦听器,如下所示

bAddbutton.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    Intent i=new Intent(Reminder.this, Addreminder.class);
                    startActivity(i);
                }
            });

    bEditBtn.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // enter the code for bEditBtn click here
                }
            });

    bViewBtn.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // enter the code for bViewBtn click here
                }
            });

检查imagebutton上是否有一个click侦听器,您已经声明了单击时要执行的操作,但是如果imagebutton上没有任何侦听器,它无论如何都不会工作。 您可以尝试以下方法:

yourImageButton.setOnClickListener(new View.OnClickListener() {

          @Override
          public void onClick(View v) {
            Intent intent = new Intent(Reminder.this, Addreminder.class);
            startActivity(intent);
            }
        });
package com.birthdayreminder;

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.ImageButton;
import android.widget.TextView;

public class Reminder extends Activity {

private ImageButton view;
private ImageButton add;
private ImageButton edit;

private TextView tvadd;
private TextView tvedit;
private TextView tvview;

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


    // Instantiating Buttons
    view = (ImageButton) findViewById(R.id.bView);
    add = (ImageButton) findViewById(R.id.bAdd);
    edit = (ImageButton) findViewById(R.id.bEdit);

    // Instantiating Views
    tvadd = (TextView) findViewById(R.id.tvAdd);
    tvedit = (TextView) findViewById(R.id.tvEdit);
    tvview = (TextView) findViewById(R.id.tvView);


        // Adding a clickListener on add button
    add.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent i=new Intent(Reminder.this, Addreminder.class);
            startActivity(i);
        }
    });
    // Adding a clickListener on edit button
    edit.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // enter the code for bEditBtn click here
        }
    });
       // Adding a clickListener on view button
       view.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // enter the code for bViewBtn click here
        }
    });
  }

}
完成此操作后,必须在XML文件中声明活动

<activity android:name="packageName.className" />
如果仍然存在问题,请检查XML文件,并查看是否正确声明了按钮

问题修复:永远不要在函数中定义函数,因为每次调用第一个函数时,都会再次定义第二个函数。 你做错了什么:

onCreate {                  //WRONG VERSION
   bla bla bla bla
   initialisation {
      bla bla bla
   }
}
你必须做的是:

onCreate {                  //GOOD VERSION
   initialisation();
   bla bla bla
}
initialisation {
   bla bla bla 
}
可以在函数中调用函数,但不能在函数中定义函数


此外,您从未调用过初始化函数,现在必须在onCreate函数中调用它,否则什么也不会发生。

初始化按钮,并在onCreate()中首先添加侦听器

按钮btnAdd=(按钮)findViewById(R.id.bAdd)


btnAdd.setOnClickListener(此)

您检查了是否输入了案例R.id.bAdd?是否为该imagebutton设置了onClick Listener?检查您的按钮id是否与bAdd匹配还检查LogCat双重检查以按钮id的意图编写的两个活动的名称。这与问题无关,但您应该避免在try catch上出现一般异常,还有空的catch blocks.sry我是android开发新手,我不知道如何使用“getApplicationContext()”更改此意图i=new Intent(rementer.this,addrementer.class);as Intent i=新的Intent(getApplicationContext(),Addreminder.class);您是否在第二个活动集ContentView(R.layout.addRequires)中完成了此操作;是的,我已经在我的Addreminder类中的
onCreate()
方法中指定了这个。并在menifest.xml文件中指定您提到的所有代码都是正确的。但点击按钮后,它不会对logcat做出任何反应。logcat保持空闲。你调试了你的应用程序吗?你的onClick被调用了吗?我的onClick方法甚至没有被调用。。。当我点击任何按钮名称问题时,logcat上没有响应。。。日志中没有输出您是否检查并确保按钮id正确?是的,我检查了按钮的所有id,它们相互匹配。我也在XML文件中进行了编码:
如果您使用此类启动应用程序,则没有问题,但是,如果这不是您启动应用程序时希望看到的第一个活动:它将是高效且更简单的。你有没有像我给你看的那样在你的图像按钮上做一个点击监听?或者你能用你的imagebutton声明给我看你的代码吗?我会编辑我的答案,尽可能地更正你的代码,我会给你一个小副本,我给你的代码,你不能在一个函数或过程中声明一个函数或过程,因为每次你调用onCreate,您将再次尝试声明初始化函数。因此,请直接在onCreate函数中执行初始化操作。是的:)亲爱的。。。。你的代码成功了。。再来一次。你能告诉我他们的密码出了什么问题吗。所以我不会再惹麻烦了。请再次感谢你宝贵的时间@Eydolol