问题:开发项目账华为mate9测试项目一直正常,当用Remi 5A是,一进入到界面editview就获得了焦点
解决:在EditView的外层layout中添加android:focusable="true" android:focusableInTouchMode="true"
例子:
<LinearLayout
style="@style/FillWrapWidgetStyle"
android:orientation="vertical"
android:background="@color/black"
android:gravity="center_horizontal"
参考: >
1、activity_mainxml中代码如下图,意思是为EditText控件加上背景,这里我们设置了一个android中自带方框的背景,android:background="@android:drawable/editbox_background_normal。
2、获取edittext然后写button按钮,android:hint="用户名",意思是指定了一段提示性的文本。
3、然后指定EditText的最大行数为两行,这样当输入的内容超过两行时,文本就会向上滚动,而EditText则不会再继续拉伸。
4、下图代码写入点击Button将EditText里面的内容显示在textView里。
5、最后测试,下图为点击效果图。
上述代码方法是没错的,你无法成功运行的原因很可能是你的this指代的东西出现问题,不是当前fragment的view,很有可能你放在某个其他的块作用域运行的;将name1 = (EditText) thisfindViewById(Ridwhy);替换到对的作用域上就可以获取成功了。
EditText是TextView的直接子类 所以EditText会继承父类TextView的一些方法。下面我用自己写的一个Demo 和大家详细的说明一下EditView的使用方法。
1简单的EditText输入框
非常简单,在layout布局中配置一下EditText 在配置一个Button 在代码中监听Button 的事件 获取当前EditView中输入的内容并且显示出来。
2实现代码:
<xml version="10" encoding="utf-8">
<LinearLayout xmlns:android=">
android:id="@+id/textviewll"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText
android:id="@+id/sample_edit_text0"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="简单的EditText输入框"/>
<Button
android:id="@+id/sample_button0"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:text="确定"/>
</LinearLayout>
public class SampleActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(Rlayoutsample);
final EditText editText0 = (EditText)findViewById(Ridsample_edit_text0);
Button button0 = (Button)findViewById(Ridsample_button0);
button0setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
String str = editText0getText()toString();
ToastmakeText(SampleActivitythis,str, ToastLENGTH_LONG)show();
}
});
superonCreate(savedInstanceState);
}
}
3限制EditText输入框的内容
在layout中配置信息
android:digits="1234567890+-/%\n()"
限制输入框中只能输入自己定义的这些字符串 如果输入其它将不予以显示
android:phoneNumber="true"
限制输入框中只能输入手机号码
android:password="true"
限制输入框中输入的任何内容将以""符号来显示
android:hint="默认文字"
输入内容前默认显示在输入框中的文字
android:textColorHint="#FF0000"
设置文字内容颜色
android:enabled="false"
设置输入框不能被编辑
4设置软键盘的Enter键
EditText editText0 = (EditText)findViewById(RidtxtTest0);
editText0setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView arg0, int arg1, KeyEvent arg2) {
//事件处理
return false;
}
});
5监控软键盘的按键事件
做项目的时候 有时候须要在用户输入内容时做检测,比如如果用户输入不合法的内容不予以显示在EditText中, 这时候我就要用到addTextChangedListener 用它来监听用户输入状态。可以在监听中改变用户输入的内容或者提示用户输入内容不合法等等。 如图所示我的每次输入 *** 作都可以被正常的监听出来,用户输入内容的正常流程 beforeTextChanged() -》onTextChanged() -》afterTextChanged()然后是通知屏幕绘制 显示在屏幕上 所以我们可以在这三个方法中来修改用户输入内容 或者截取用户输入的内容。
在XML文件中,你需要先给TEXTEDIT设置ID,用android:id,如下:
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:id="@+id/txt_tv"
/>
然后你就可以在后台通过ID获取该控件,就可以得到他的值了
EditText et=(EditText) findViewById(Ridtxt_tv);
String str=etgetText()toString();
Android中有许多写法创建事件处理方式,一般会使用Android:onClick属性来指定。
举例说明:
实现摄氏温度到华氏温度的转变
1、
EditText editText1 =(EditText) findViewById (RideditText1)
c=IntegerparseInt(editText1getText()toString());
用来获取editText1中的信息
2、
EditText editText2 =(EditText) findViewById (RideditText2);
f=(90c)/50+320;
editText2setText(StringvalueOf(f));
通过editText1 获取的信息然后经过计算
将计算的结果返回editText2中然后在editText2中显示出来
扩展资料:
EditText 控件的用法
EditText 在开发中也是经常用到的控件,也是一个比较必要的组件。
它是用户跟Android应用进行数据传输的窗户。
1、android:text设置文本内容。
2、android:textColor字体颜色。
3、android:hint内容为空时候显示的文本。
4、android:textColorHint为空时显示的文本的颜色。
5、android:maxLength限制显示的文本长度,超出部分不显示。
6、android:minLines设置文本的最小行数。
7、android:gravity设置文本位置,如设置成“center”,文本将居中显示。
8、android:drawableLeft在text的左边输出一个drawable,如。
以上就是关于Android EditView 有的手机进入页面默认获取焦点全部的内容,包括:Android EditView 有的手机进入页面默认获取焦点、Android 开发里面如何点击Button将EditText里面的内容显示在textView里、安卓开发中,如何获得EditText内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)