onclicklistener是点击的监听,你想分别监听到按下和抬起的事件就得用ontouchlistener。
这是代码,你瞅瞅:
b1setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (eventgetAction()) {
case MotionEventACTION_DOWN:
//按下
break;
case MotionEventACTION_MOVE:
//移动
break;
case MotionEventACTION_UP:
//抬起
break;
}
return true;
}
});
方法:
final TextView ledShow = (TextView)findViewById(RidLed_Show);
final EditText ledEdit = (EditText)findViewById(RidLed_Edit);
Button ledButton = (Button)findViewById(RidEdit_Button);
ledEditsetInputType(InputTypeTYPE_CLASS_TEXT);
ledButtonsetOnClickListener(new ViewOnClickListener() {
public void onClick(View v) {
//获取EditText控件ledShow的输入内容,并用ledShow显示
ledShowsetText(ledEditgetText()toString());
}
});
知识点延伸:
EditText是接受用户输入信息的最重要控件。EditText的属性有:
android:layout_gravity="center_vertical"//设置控件显示的位置:默认top,这里居中显示, 还有bottom
android:hint="请输入数字!"//设置显示在空间上的提示信息
android:numeric="integer"//设置只能输入整数,如果是小数则是:decimal
android:singleLine="true"//设置单行输入,一旦设置为true,则文字不会自动换行。 < !--
android:gray="top" //多行中指针在第一行第一位置
etsetSelection(etlength());//调整光标到最后一行
Android:autoText//自动拼写帮助
Android:capitalize//首字母大写
Android:digits//设置只接受某些数字
Android:singleLine //是否单行或者多行,回车是离开文本框还是文本框增加新行
Android:numeric //只接受数字
Android:password //密码
Android:phoneNumber // 输入电话号码
Android:editable //是否可编辑
Android:autoLink=”all” //设置文本超链接样式当点击网址时,跳向该网址
android:password="true"//设置只能输入密码
android:textColor= "#ff8c00"//字体颜色
android:textStyle="bold"//字体,bold, italic,bolditalic
android:textSize="20dip"//大小
问题挺多的,就告诉你一个能够最快的解决办法吧:
public void OnClick(View v){
switch(vgetId()){
case Ridabout_button:
Intent i=new Intent(this ,Aboutclass);//这里的this指针用法不对
startActivity(i);
break;
}
}
this是这个类的实例,在这个语义里面this是OnClickListener的实例,所以这里错误是参数错误。
改正方法就是使用MainActivitythis代替这里的this就能解决。
但是你这种写法有问题。。。
希望能够帮到你!
public class SignIn extends AppCompatActivity {
private EditText signName;
private EditText signPassword;
private EditText repeatPassword;
private Button btregister;
private Button iconselector;
SQLiteDatabase userdb;
@Override
protected void onCreate(Bundle savedInstanceState) {
superonCreate(savedInstanceState);
setContentView(Rlayoutactivity_sign_in);
signName = (EditText)findViewById(RideditName);
signPassword = (EditText)findViewById(RideditPassword);
repeatPassword = (EditText)findViewById(RidrepeatPassword);
iconselector = (Button)findViewById(Ridiconselector);
iconselectorsetOnClickListener(new ViewOnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(SignInthis,IconSelectionclass);
startActivityForResult(intent,0x11);
}
});
btregister = (Button)findViewById(Ridregister);
btregistersetOnClickListener(new ViewOnClickListener() {
@Override
public void onClick(View v) {
String name;
name = signNamegetText()toString();
String psw1 = signPasswordgetText()toString();
String psw2 = repeatPasswordgetText()toString();
if(psw1equals(psw2) ){
if (!(nameequals("") && psw1equals(""))) {
if (addUser(name, psw1)) {
DialogInterfaceOnClickListener ss = new DialogInterfaceOnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
// TODO Auto-generated method stub
// 跳转到登录界面
Intent in = new Intent();
insetClass(SignInthis,
Loginclass);
startActivity(in);
// 销毁当前activity
SignInthisonDestroy();
}
以上就是关于android开发中点击button无反应大神来看看这个代码的问题在哪里全部的内容,包括:android开发中点击button无反应大神来看看这个代码的问题在哪里、RecyclerView的点击事件处理求教、EditText android:enabled="false" 怎样获取点击事件 直接给设置 OnClickListener 没效果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)