GVKun编程网logo

Android-计算电源按钮的点击次数并启动活动

16

在这篇文章中,我们将带领您了解Android-计算电源按钮的点击次数并启动活动的全貌,同时,我们还将为您介绍有关3种方法实现Android按钮的点击事件,建议收藏!、AndroidStudio中图片按

在这篇文章中,我们将带领您了解Android-计算电源按钮的点击次数并启动活动的全貌,同时,我们还将为您介绍有关3种方法实现Android按钮的点击事件,建议收藏!、Android Studio 中图片按钮的点击效果、android – Listview项目点击次数、android – 从后台应用启动活动的知识,以帮助您更好地理解这个主题。

本文目录一览:

Android-计算电源按钮的点击次数并启动活动

Android-计算电源按钮的点击次数并启动活动

我使用下面的代码,但没有找到解决方案。

MyReceiver.java:

    import android.content.BroadcastReceiver;    import android.content.Context;    import android.content.Intent;    import android.util.Log;    import android.widget.Toast;    public class MyReceiver extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {     Log.v("onReceive", "Power button is pressed.");     Toast.makeText(context, "power button clicked", Toast.LENGTH_LONG)             .show();    }}

MainActivity.java:

    import android.os.Bundle;    import android.app.Activity;    import android.view.Menu;    public class MainActivity extends Activity {        @Override        public void onCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            setContentView(R.layout.activity_main);        }        @Override        public boolean onCreateOptionsMenu(Menu menu) {            getMenuInflater().inflate(R.menu.activity_main, menu);            return true;        }    }

AndroidManifest.xml:

  <application    android:icon="@drawable/ic_launcher"    android:label="@string/app_name"    android:theme="@style/AppTheme" >    <activity        android:name=".MainActivity"        android:label="@string/title_activity_main" >        <intent-filter>            <action android:name="android.intent.action.MAIN" />            <category android:name="android.intent.category.LAUNCHER" />        </intent-filter>    </activity>    <receiver android:name=".MyReceiver">    <intent-filter>        <action android:name="android.intent.action.SCREEN_OFF"></action>        <action android:name="android.intent.action.SCREEN_ON"></action>        <action android:name="android.intent.action.ACTION_POWER_CONNECTED"></action>        <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"></action>         <action android:name="android.intent.action.ACTION_SHUTDOWN"></action>    </intent-filter></receiver></application>

但点击时,我没有收到任何吐司消息PowerButton。请帮助我了解如何获得PowerButton点击次数,如果点击次数等于5,请转到另一个actvity。请帮我实现这个吗?

答案1

小编典典

试试这个,

public class MyReceiver extends BroadcastReceiver {    static int countPowerOff=0;    private Activity activity=null;    public MyReceiver (Activity activity)    {    this.activity=activity;    }    @Override    public void onReceive(Context context, Intent intent) {      Log.v("onReceive", "Power button is pressed.");      Toast.makeText(context, "power button clicked", Toast.LENGTH_LONG)             .show();     if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {    countPowerOff++;    } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {      if(countPowerOff==5)      {          Intent i =new Intent(activity,NewActivity.class);          activity.startActivity(i);       }    }}

和,

public class MainActivity extends Activity {        @Override        public void onCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            setContentView(R.layout.activity_main);            IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);            filter.addAction(Intent.ACTION_SCREEN_OFF);            MyReceiver mReceiver = new MyReceiver (this);            registerReceiver(mReceiver, filter);        }        @Override        public boolean onCreateOptionsMenu(Menu menu) {            getMenuInflater().inflate(R.menu.activity_main, menu);            return true;        }    }

3种方法实现Android按钮的点击事件,建议收藏!

3种方法实现Android按钮的点击事件,建议收藏!

Button是程序用于和用户进行交互的一个重要控件,相信大家对这个控件已经非常熟悉了,我们平时用的最多的控件之一。既然有Button,那肯定有onClick方法,下面就教大家三种实现点击事件的方法,大家选择一种自己喜欢的方式写就可以了。

我们先在layout文件里面放置一个Button控件,很简单,让它水平和垂直都居中,Button里面的文字也居中对齐,字体大小15sp,内容为“我是按钮”,具体代码如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".ButtonActivity">
    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:gravity="center"
        android:text="我是按钮"
        android:textSize="15sp" />

</RelativeLayout>

运行一下模拟器,显示如下:

image.png

下面,我们来实现按钮点击事件:只要我们点击按钮,就会弹出Toast提示信息,内容为“按钮被点击了”。

| 一、匿名内部类实现 | |--|--|

在onCreate()方法里面声明并绑定控件,然后注册监听器,重写onClick()方法,只要在onClick()方法中加入待处理的逻辑就行。 这里我们只用Toast显示了一条消息。所有代码如下:

public class ButtonActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button);
        Button button=findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(ButtonActivity.this,"按钮被点击了",Toast.LENGTH_SHORT).show();
            }
        });
    }
}

这样,只要我们点击按钮,就会执行监听器中的onClick()方法,效果如下:

image.png

| 二、接口实现 | |--|--|

第二种方法只要引用View.OnClickListener这个接口就行,接着Button button=findViewById(R.id.button);用来声明和绑定button控件,button.setOnClickListener(this);设置button的监听器,这两者缺一不可。下面就是重写onClick()方法,一般使用switch语句,参数是view,可以根据不同id来赋予不同的点击事件,不用像上面匿名内部类那样每一个按钮都要单独设置一下点击事件。所有代码如下:

public class ButtonActivity extends AppCompatActivity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button);
        Button button=findViewById(R.id.button);
        button.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.button:
                Toast.makeText(this,"按钮被点击了",Toast.LENGTH_SHORT).show();
            default:
                break;
        }
    }
}

我们运行看下效果:
image.png

| 三、布局实现 | |--|--| 上面两种点击事件都很简单,相信大家已经掌握了,那么接下来的方法更加简单。

我们在layout文件中,给每一个用到的Button设置属性android:onClick="onClick",其他不需要改变。 然后我们在ButtonActivity里面写一个onClick()方法,这里就不是重写了,因为我们没有任何继承父类和引用接口,这里的方法名可以随意取。然后写上代码逻辑。完整代码如下:

public class ButtonActivity extends AppCompatActivity{

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

    public void onClick(View view) {
        Toast.makeText(this,"按钮被点击了",Toast.LENGTH_SHORT).show();
    }
}

我们来运行一下程序,发现点击按钮之后一样有响应。

好了,以上就是3种实现Android按钮的点击事件,是不是已经学会了呢。如果学会的话点个三连支持下博主吧。

Android Studio 中图片按钮的点击效果

Android Studio 中图片按钮的点击效果

如何解决Android Studio 中图片按钮的点击效果?

如何使用 ImageButton 实现与 Button 元素默认相同的点击效果?

我曾经使用带有 png 图标的按钮,但现在我将它们更改为 svg 图标。要做到这一点,我发现我必须使用 ImageButton 插入 Button。

我已经看到这可以通过创建一个包含按钮状态列表的可绘制 xml 文件来完成,但我不需要复杂的动画(只是按钮的默认设置)。有没有一种简单的方法可以实现我正在寻找的东西?

这是我的代码:

<ImageButton
    android:id="@+id/editButton"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:background="#00FFFFFF"
    android:tint="#00FFFFFF"
    app:iconTint="#000000"
    app:srcCompat="@drawable/edit_icon_svg"
    tools:ignore="VectorDrawableCompat" />

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

android – Listview项目点击次数

android – Listview项目点击次数

我有一个listview与一些items.I想知道列表项click.for例如,如果我点击列表视图项目第一次吐司消息将出现.相同的项目点击吐司消息将是你点击相同的项目第二时间.

最后我想知道单个列表视图项“偶数”点击和“ODD”点击

listView.setonItemClickListener(new AdapterView.OnItemClickListener()
{ public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        if(firstTime) {
            firstTime = false;
            if(count%2==0){
                Toast.makeText(getApplicationContext(), "Clicked on Row2nd: " +
                country.getName(), Toast.LENGTH_LONG).show();
                count=0;
            }
            else{
                Toast.makeText(getApplicationContext(), "Clicked on Row1st: " +
                country.getName(), Toast.LENGTH_LONG).show();
                count=0;
            }
        }
        else{
            firstTime=true;
            Toast.makeText(getApplicationContext(), "Clicked on Row1111: " +
            country.getName(), Toast.LENGTH_LONG).show();
            count=count+1;

        }
    }
});

解决方法:

您可以添加一个额外的ArrayList,它将包含每个列表视图项的计数器.

假设你有:

ArrayList<String> listViewData = getSomeData();
ArrayList<Integer> dataClickCount = new ArrayList<>();
for(String item : listViewData)
{
    dataClickCount.add(0);
}

后来在你的听众中:

listView.setonItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

   if(dataClickCount.get(posion)%2==0){
       Toast.makeText(getApplicationContext(), "Clicked on Row1nd, odd click: " + country.getName(), Toast.LENGTH_LONG).show();
       dataClickCount.set(posion,1);
   }
   else{
       Toast.makeText(getApplicationContext(), "Clicked on Row2st, even click: " + country.getName(), Toast.LENGTH_LONG).show();
        dataClickCount.set(posion,0);
   }


}});

android – 从后台应用启动活动

android – 从后台应用启动活动

我的应用程序在后台运行,我希望在下面的代码运行时,应用程序显示在Android手机的顶部(已启动). (我知道代码是肯定运行的)

这看起来很简单,但我在这个网站上花了几个小时,每个人似乎都在建议这样的事情:

Intent intent = new Intent(myActivity.this, myActivity.class);
startActivity(intent);

但是,它并没有将应用程序带到前面并启动它.

我从通知启动的PendingIntent中开始工作.我通过以下代码完成了这项工作.但我希望应用程序能够在用户没有点击通知的情况下自行启动.

Intent intent = new Intent(myActivity.this, myActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, REQUEST_CODE, intent, 0);
notification.setLatestEventInfo(this, "title", "msg", contentIntent);

我也尝试过:

Intent intent = new Intent("android.intent.action.MAIN");
startActivity(intent);

并标记意图:

intent.setFlags(Intent.FLAG_FROM_BACKGROUND);
intent.setFlags(Intent.FLAG_ACTIVITY_broUGHT_TO_FRONT);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

但似乎没有做任何事情,任何帮助赞赏.

解决方法:

您应该可以像这样调用自己的应用程序:

Intent intent = new Intent("android.intent.category.LAUNCHER");
intent.setClassName("com.your.package", "com.your.package.MainActivity");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

编辑:忘记添加intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

我们今天的关于Android-计算电源按钮的点击次数并启动活动的分享就到这里,谢谢您的阅读,如果想了解更多关于3种方法实现Android按钮的点击事件,建议收藏!、Android Studio 中图片按钮的点击效果、android – Listview项目点击次数、android – 从后台应用启动活动的相关信息,可以在本站进行搜索。

本文标签: