首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

羊皮书APP(Android版)开发系列(二十)Activity响应ListView,GridView 内部按钮的点击事件

业务稍微复杂一点的界面,ListView,GridView等的Adapter中都会有内部按钮,需要处理内部按钮的点击事件。...而Adapter和Activity是分离的(不要将Adapter写在Activity里面),这时候,我们可以使用回调来实现Activity响应ListView,GridView 内部按钮的点击事件。...Adapter定义一个接口(或在外面定义也可以) private Callback editCallback; public interface Callback { public...的getView设置点击事件 viewHolder.students_quality_delete_bt.setOnClickListener(new View.OnClickListener()...响应按钮点击事件了 public class HistoryActivity extends Activity implements Callback { @Override public

1.4K30

Android Oreo 常见问题 2.0 | Android 开发者 FAQ Vol.9

第一期 Android Oreo 8.0 开发者 FAQ ,我们为了尽快让大家快速了解 Android Oreo 的新特性,以及它与之前版本 Android 的区别,我们针对 Android Oreo...* 但请注意,Nexus 6 及 Nexus 9 设备将不会提供 Android 8.0 更新。 Q: 为什么通知圆点功能在 Nexus 5X / 6P 和 Pixel C 设备上不起作用? ?...A: Android O 中加入的 “自动打开 Wi-Fi” 功能使得您的设备可以追踪到已保存网络后自动打开并连接。但是需注意,“自动开启 Wi-Fi” 功能目前 Pixel 手机上可用。...Q: 关于应用图标的新样式,为什么和以前看起来不一样? A: Android 8.0 ,应用图标现在已经规范成了圆形或者方形。...这可能是一个问题,用户应该留在您的应用程序,恢复到全屏 PIP 窗口并点击返回。应用程序必须重新创建后台堆栈才能完成此操作。 Q: Android O 有哪些新特性能够最直接用于开发?

1.9K70

为什么Android请求权限从来都不是一件简单的事情?

周末时间参加了东莞和深圳的两场GDG,因为都是线上参与,所以时间上并不赶,我只需要坐在家里等活动开始就行了。...等待的时间一时兴起,突然想写一篇原创,聊一聊我自己Android权限请求代码时的一些技术心得。 正如这篇文章标题所描述的一样,Android请求权限从来都不是一件简单的事情。为什么?...()里判断,如果用户拒绝了某项权限,那么就弹出一个对话框,告诉用户相机和定位权限是必须的,然后setPositiveButton的点击事件调用requestPermissions()方法重新请求权限...这也就是我编写PermissionX这个开源库的原因,Android请求权限从来都不是一件简单的事情,但它不应该如此复杂。...我们只需要在permissions()方法传入要请求的权限名,onExplainRequestReason()和onForwardToSettings()回调填写对话框上的提示信息,然后request

1.2K10

Android实现点击两次返回退出APP

Android实现点击两次退出APP 这两天在做一个项目碰到这么个问题,需要界面点击两次直接退出整个APP而不是返回上一个界面,查找了网上的资料,整合和修改了一下写了这篇博客。...这里我主要以我的项目为例,实现了登录界面,注册界面,登录界面登录成功则跳转到界面上,而界面点击退出回到了登录界面,这显然是不合理的,需要界面点击返回按钮退出整个APP,同时为了防止误触,还应该实现点击一次提醒用户...activity.isFinishing()){ activity.finish(); } } sActivities.clear(); } } 活动管理器,我们通过一个Activity的List...接下来修改界面之前的活动,这里我主要是登录界面和注册界面添加了如下代码: public class XXXXActivity extends AppCompatActivity { @Override...接下来创建一个Handler,用来处理发送过来的信息,这是 Android 提供的一套异步消息处理机制,子线程更新UI也会用到这一套机制,接触过AsyncTask的人应该对于这个比较了解,AsyncTask

1.4K30

史上最实用的Android切片应用库XAOP使用指南

设计原由 我们平时开发的过程,一定会遇到权限申请、线程切换、数据缓存、异常捕获、埋点和方法执行时间统计等问题。...:2.0.10' } } 2.项目的 build.gradle 增加依赖并引用 aspectjx 插件 apply plugin: 'android-aspectjx' //引用aspectjx...注意点击的方法中一定要有点击控件View作为方法参数,否则将不起作用。 2.可以设置快速点击的时间间隔,单位:ms。不设置的话默认是1000ms。...apply plugin: 'com.xuexiang.xaop' //引用xaop插件 使用的问题 1.问:为什么我使用@SingleClick标注点击的方法不起作用?...答:被@SingleClick标注的方法,一定要有点击控件View作为方法参数,否则将不起作用。 2.问:为什么我使用@Permission标注的方法,返回值失效了?

98360

家中狗子都在想些啥,科学家们利用机器学习搞清楚了

而此方法之前灵长动物身上用过,所以这次狗狗身上的实验算是一个重大突破。 下面就来看看具体体验过程。...对比狗和人的大脑活动 研究者通过机器学习和fMRI(功能磁共振成像),来探索狗狗看到不同类视频时的大脑活动。 至于为什么要选狗子而非其他动物?...不过尽管狗狗相对听话,但要在本研究,它们除了要参与MRI扫描,还要长时间观看视频。所以最终只有2狗入选,一是4岁的雄性拳师混血犬,另一11岁的雌性波士顿梗混血犬。...从人类志愿者的数据来看,这些模型将其大脑活动数据映射到不同分类器上时,准确性都超过99%。...虽然本次研究,最终只有2狗参与,不过研究者未来还会对更多狗子以及其他动物展开实验,探索动物们是如何感知世界的。

19030

安卓入门-第二章-探究活动

配置活动的方法: 标签的内部加入 标签 并在 标签内添加 和 这两句声明即可。...活动创建的步骤小结: 我们以手动创建活动为例: 创建一个空的活动 -> 创建布局 -> 活动中加载布局 -> 注册活动 -> 配置程序配置活动 2.2.4 活动中使用Toast  Toast是Android...唯一的问题在于,你启动器中点击应用的图标只会进入到该应用的活动,那么怎样才能由活动跳转到其他活动呢?我们现在就来一起看一看。...logcat界面查看错误日志,你会看到如图2.16所示的错误信息。 ?  错误信息中提醒我们,没有任何一个活动可以响应我们的Intent,为什么呢?...那么有没有什么办法可以让某个活动整个应用程序的上下文中存在一个实例呢?这就要借助singleTask模式来实现了。

2.9K20

android activity singletask,Android Activity启动模式之singleTask实例详解

singleTask:当设置活动的启动模式为singleTask时,首先检查返回栈是否存在当前活动,如果存在当前活动的实例,则直接使用当前实例,并把当前活动之上的所有活动pop出栈,即当前活动位于栈顶位置...代码实例如下: (1)修改AndroidManifest.xml 修改活动MainActivity的启动模式为singleTask,如下: android:name=”.MainActivity” android...,点击按钮进入MyActivity1活动点击按钮回到活动MainActivity,日志显示如下: 从图中可以看出,当在MyActivity1点击按钮时,返回栈此时存在一个活动MainActivity...的实例,并且MyActivity1的下面,当点击时,MyActivity1出栈,实例销毁,调用onDestroy方法,而活动则调用onRestart方法。...如果再次活动点击按钮进入MyActivity1活动,此时会创建MyActivity1实例,再次返回,见日志如下: 这正是Activity启动模式singleTask的特性。

56260

AndroidEditText setText方法的踩坑实战

1、平平常常中就这样开始 某一天,我准备做一个搜索功能,这个搜索功能呢大概是活动A,用EditText接收输入,当EditText监听到输入框内容有变化,跳转到活动B活动B准备有搜索历史记录等等...,等活动B确定好搜索关键词后,跳回到活动A,执行搜索,并显示搜索结果……一切顺顺利利,然后呢,懵逼了,我回不了活动A了。..." android:layout_height="wrap_content" android:text="我是活动啦"/ </LinearLayout 活动A:AcitivityA.java...中有输入时,跳到B,B确定好关键词后,点击搜索(你的搜索在哪里,让你们看下图吧) ?...上述log显示,做如下解读: 1、 启动应用,执行初始化,打印 0 2、输入内容,执行1,2,3,到启动活动B 3、活动B初始化执行 4 5、 活动B中点击搜索 5,并启动活动A 6、A再一次初始化

1.9K30

Android 四大组件之Activity

从字面的意思去理解,Activity具有活动的意思,我们应用中进行的操作都是集中Activity上面完成,例如拨号、拍照、发送email、看地图。...一个应用程序通常由多个activities组成,他们通常是松耦合关系,通常一个应用程序包含有一个Activity,即点击桌面图标的时候首先进入的Activity。...:name="android.intent.category.LAUNCHER" /> 表明这个Activity是Activity,Android系统点击应用图标首先进入主Activity。...为什么会需要启动模式 应用程序开发过程,一般都需要在多个 Activity 组件之间跳转,也可能需要在本应用打开其他应用的可复用的 Activity。...我们可以 MainActivity 添加一个按钮,点击按钮跳转到 SecondActivity,然后 SecondActivity 添加两个按钮,点击一个按钮跳转到 MainActvity,另一个按钮的点击事件添加如下代码

79200

Android四大组件之Activity

从字面的意思去理解,Activity具有活动的意思,我们应用中进行的操作都是集中Activity上面完成,例如拨号、拍照、发送email、看地图。...一个应用程序通常由多个activities组成,他们通常是松耦合关系,通常一个应用程序包含有一个Activity,即点击桌面图标的时候首先进入的Activity。..."android.intent.category.LAUNCHER" /> 表明这个Activity是Activity,Android系统点击应用图标首先进入主Activity。...为什么会需要启动模式 应用程序开发过程,一般都需要在多个 Activity 组件之间跳转,也可能需要在本应用打开其他应用的可复用的 Activity。...我们可以 MainActivity 添加一个按钮,点击按钮跳转到 SecondActivity,然后 SecondActivity 添加两个按钮,点击一个按钮跳转到 MainActvity,另一个按钮的点击事件添加如下代码

72220

MIUI12.5版本片多多播放卡顿分析与解决

其他如huawei机型也无此问题二、需要梳理的问题:1、为什么同一手机rom版本不同,但app相同的情况下会出现卡一下2、为什么点击屏幕弹出影片信息的时候才会卡一下3、卡顿根因是什么三、先说结论1、...三星S20+ 120hz,测试的手机OPPO Reno5 90hz也存在同样问题2、为什么点击屏幕弹出影片信息的时候才会卡一下-->根据版本排查发现,UIUtils类调用显示导航栏的时候,会调用view.setSystemUiVisibility...但这个代码片段Android11上有,之前的版本没有此代码,所以Android11之前不会有此问题同时,命中条件如下:View.sForceLayoutWhenInsetsChanged = targetSdkVersion...2)分析点击屏幕弹出影片信息的时候才会卡一下经过导师支持,通过逆向排查到版本1.6.5开始出现,具体代码是UIUtils.javapublic static void showNavigation(...collectViewAttributes -> controlInsetsForCompatibility → .. → notifyInsetsChanged → forceLayout从上述调用栈便解释了为什么点击屏幕弹出影片信息的时候才会卡一下五

1.4K30

自动化-Appium-第一个Demo-原生(Python版)

`instruments -s devices`得到的可使用的设备名称之一 # Android上,这个关键字目前不起作用 desired_caps['deviceName'] = 'honor' #...应用的包名 desired_caps['appPackage'] = 'com.example.testapp' # 要从包启动的Android activity的活动名称 desired_caps...应用的包名 desired_caps['appPackage'] = 'com.example.testapp' # 要从包启动的Android activity的活动名称 desired_caps...Emulator, Galaxy S4 等等 # IOS上,这个关键字的值必须是使用`instruments -s devices`得到的可使用的设备名称之一 # Android上,这个关键字目前不起作用...Emulator, Galaxy S4 等等 # IOS上,这个关键字的值必须是使用`instruments -s devices`得到的可使用的设备名称之一 # Android上,这个关键字目前不起作用

2K20

Android-活动的启动模式

通过标签指定android:launchMode属性来选择启动模式。...standard standard是活动默认的启动模式,standard模式下,每当启动一个新的活动,他就会在返回栈入栈,并处于栈顶位置,对于使用standard模式的活动,系统不会在乎这个活动是否已经返回栈存在...修改AndroidManifest.xml标签活动的启动模式: <activity android:name=".MainActivity" android:launchMode="singleTop..." android:label="This is MainActivity"> 然后运行以后查看logcat,创建了一个实例,然后点击按钮,不会再产生新的实例。...那么可以使用singleTask让某个活动整个应用程序的上下文中存在一个实例,当活动的启动模式指定为singleTask,每次启动该活动系统会首先检查返回栈是否存在该活动的实例,如果发现则直接使用

65920

Android布局优化三剑客:include+merge+ViewStub

1、include include的中文意思是“包含”、“包括”,当你一个主页面里使用include标签时,就表示当前的布局包含标签的布局,这样一来,就能很好地起到复用布局的效果了。...不过你可能会对id这个属性有疑问:id我可以直接在TextView设置啊,为什么重写它呢?...1.3 控件ID相同时的处理 1.1我们知道了id属性可以重写include布局的根布局id,但对于根布局里面的布局和控件是无能为力的,如果这时一个布局布局include了多次,那怎么区别里面的控件呢...:layout_width="match_parent" android:layout_height="50dp" /> 布局添加进去: <?...打个比方,它就像是布局或者控件的搬运工,把“货物”搬到布局之后就会功成身退,不会占用任何空间,因此也就不会增加布局层级了。这正如它的名字一样,起“合并”作用。

3K51
领券