草庐IT

back-button

全部标签

android - 根据Android中EditText中的文本启用和禁用Button

如果EditText中的单词少于3个单词,我想通过Button禁用它,如果EditText中的单词多于3个单词,那么我想启用它以便它可以被点击。有人可以帮我吗? 最佳答案 你必须addTextChangedListener到你的EditText像这样:yourEditText.addTextChangedListener(newTextWatcher(){@OverridepublicvoidafterTextChanged(Editablearg0){enableSubmitIfReady();}@Overridepublicvo

具有圆角、波纹效果和无阴影的 Android Button

我正在尝试构建带圆角的Android按钮。但是沿着圆角(左下角和右下角),周围有不需要的灰色阴影。这是我的代码:drawable/my_button.xml然后在布局xml文件中,我有:1)如何去除圆角(左下角和右下角)周围多余的灰色阴影?2)按钮默认有波纹效果。如何保持默认的链式react? 最佳答案 我终于用下面的代码解决了它。这实现了按钮的圆角。此外,对于Android版本>=V21,它使用波纹效果。对于较早的Android版本,按钮颜色会在单击时发生变化,基于android:state_pressed、android:sta

android - eclipse,新的 android 应用程序项目, "next button"在需要项目名称的部分中被禁用

我想开始为android编程所以我下载了Eclipse并在上面安装了ADT插件并下载了AndroidSDK现在,当我想在“文件->新建->Android应用程序项目”中创建一个新的android项目时,它会将我引导到一个需要“应用程序名称”和“项目名称”等的页面,所以我填写了这样的字段:应用名称:你好项目名称:你好包名:test.example.hello最低要求的SDK:API8:Android2.2(Froyo)目标SDK:API16:Android4.1(JellyBean)编译:主题:无但是“下一步”按钮被禁用了!在页面顶部它说:“包名称不能以点开头或结尾”在主题字段附近有一个

c++ - push_back 'dynamically allocated object' 到 vector 安全吗?

每当我需要将动态分配的对象添加到一个vector中时,我都会按照以下方式进行操作:classFoo{...};vectorv;v.push_back(newFoo);//dostuffwithFooinv//deleteallFooinv它刚刚奏效,许多其他人似乎也在做同样的事情。今天,我了解到vector::push_back可以抛出异常。这意味着上面的代码不是异常安全的。:-(所以我想出了一个解决方案:classFoo{...};vectorv;auto_ptrp(newFoo);v.push_back(p.get());p.release();//dostuffwithFooin

c++ - 为什么Vector的size()和capacity()在push_back()之后不一样

我刚开始学习vector,对size()和capacity()有点困惑我对他们两个都知之甚少。但是为什么在这个程序中两者是不同的呢?甚至array(10)也在为10个元素腾出空间并用0进行初始化。在添加array.push_back(5)之前所以array.size();是10没问题。所以array.capacity();是10没问题。添加array.push_back(5)后所以array.size();是11就可以了(已经添加了10次0然后push_back再添加一个元素5)。所以array.capacity();是15为什么?(是否为一个int保留5个block?)。#inclu

c++ - std::vector<T>::pop_back 的正式规范

我正在查看C++标准(草案n3797),我找不到任何关于pop_back的文档,因为它适用于std::vector,只有对于std::list。真的不见了吗?具体来说,我一直在寻找pop_back不会改变容量的保证。或者根本没有这样的保证?(我希望迭代器和对其他元素的引用将保持有效,但我找不到这种保证,而且它不会限制删除最后一个元素的情况) 最佳答案 不,它没有错过。在101§23.2.3的表格中,您可以看到pop_back存在于vector。16Table101listsoperationsthatareprovidedforso

c++ - 缺少 std::front 和 std::back

C++11中没有std::front和std::back是有原因的吗?有std::begin和std::end所以对我来说,对于实际实例具有等效是有意义的。 最佳答案 std::begin()和std::end()应该适用于所有基本容器(包括C风格数组)。事实上,如果容器支持成员begin()和end()函数,std::begin()和std::end()将调用转发给那些成员函数。但是,并非所有容器都支持front()和back()成员函数。 关于c++-缺少std::front和std

c++ - 使用 std::back_inserter 时我应该保留内存吗

使用back:inserter时是否需要预留内存?d.reserve(s.size())std::copy(s.begin(),s.end(),back_inserter(d)); 最佳答案 使用std::back_inserter时不需要为容器保留内存。但是,如果您事先知道要插入的元素数量并希望防止重复分配,您可以预留内存。 关于c++-使用std::back_inserter时我应该保留内存吗,我们在StackOverflow上找到一个类似的问题: htt

c++ - vector.push_back 右值和复制省略

我像这样push_back一个临时对象到一个vector中,vectorvec;vec.push_back(A("abc"));编译器是否会应用复制省略将临时A("abc")直接构造到vector中,以便A'将临时对象插入vec时不会触发s复制构造函数。 最佳答案 如果你有一个支持右值引用的编译器,它会被移动到vector中,这有时非常便宜。另一种方法是直接在vector中构造对象,这可以通过vec.emplace_back("abc");来完成。这只会调用一个构造函数。这两个都是C++11的特性。此处不允许省略复制,因此如果没有这

c++ - 在扩展期间将 vector 成员插入 vector : vector. push_back(vector[0])

我正在用C++编写自定义vector类。我对这样的代码有疑问:vectorvec;vec.push_back(one);vec.push_back(two);vec.push_back(vec[0]);push_back的定义如下:voidpush_back(constT&v)避免不必要的复制。它的实现看起来像if(size==capacity){allocatenewstoragecopyoldvaluesintonewstorage//2deleteoldstoragefixpointersandcounters}//1copyvattheendofstorage如果我们想压入已经