- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
它是一个简单的登录屏幕,有两个编辑文本、一个复选框和一个图像按钮...最近工作正常,我已将按钮更改为图像按钮,现在它给我带来了问题
logcat
04-30 02:11:24.699: E/AndroidRuntime(9571): FATAL EXCEPTION: main
04-30 02:11:24.699: E/AndroidRuntime(9571): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.markitberry/com.example.markitberry.Login}: java.lang.ClassCastException: android.widget.ImageButton cannot be cast to android.widget.EditText
04-30 02:11:24.699: E/AndroidRuntime(9571): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1967)
04-30 02:11:24.699: E/AndroidRuntime(9571): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
04-30 02:11:24.699: E/AndroidRuntime(9571): at android.app.ActivityThread.access$600(ActivityThread.java:127)
04-30 02:11:24.699: E/AndroidRuntime(9571): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
这里是java
公共(public)类Login扩展Activity实现AnimationListener {
ImageButton btnLogin;
EditText inputEmail,inputPassword;
CheckBox loginRemember;
// Animation
Animation animBounce1,animBounce2,animBounce3,animBounce4;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
// load the animation
animBounce1 = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.move_out);
animBounce2 = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.move_out_right);
animBounce3 = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.move_out);
animBounce4 = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.fade_in);
// set animation listener
animBounce1.setAnimationListener(this);
animBounce2.setAnimationListener(this);
animBounce3.setAnimationListener(this);
animBounce4.setAnimationListener(this);
inputEmail=(EditText)findViewById(R.id.etloginEmail);
inputPassword=(EditText)findViewById(R.id.etloginPassword);
loginRemember=(CheckBox)findViewById(R.id.cbRemember);
ImageButton btnLogin =(ImageButton) findViewById(R.id.btnLogin);
btnLogin.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
inputEmail.startAnimation(animBounce1);
inputPassword.startAnimation(animBounce2);
loginRemember.startAnimation(animBounce3);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.login_actions, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Take appropriate action for each action item click
switch (item.getItemId()) {
case R.id.action_call:
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:9871952704"));
startActivity(callIntent);
// help action
return true;
case R.id.action_email:
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
"mailto","markitberry@gmail.com", null));
intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
intent.putExtra(Intent.EXTRA_TEXT, "message");
startActivity(Intent.createChooser(intent, "Choose an Email client :"));
case R.id.action_locate:
Intent i = new Intent(Login.this, Locate.class);
startActivity(i);
default:
return super.onOptionsItemSelected(item);
}
}
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
if (animation == animBounce3) {
Intent it=new Intent(Login.this,Home.class);
startActivity(it);
}
}
@Override
public void onAnimationRepeat(Animation arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationStart(Animation arg0) {
// TODO Auto-generated method stub
}
}
login.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/login_bck"
android:gravity="center">
<include
layout="@layout/login_cover"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
login_cover.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/login_gradient_bck"
android:orientation="vertical" >
<EditText
android:id="@+id/etloginPassword"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_above="@+id/cbRemember"
android:layout_alignLeft="@+id/etloginEmail"
android:layout_alignRight="@+id/etloginEmail"
android:layout_marginBottom="26dp"
android:background="#BFFFFFFF"
android:ems="10"
android:gravity="center"
android:hint="Enter Password"
android:inputType="textPassword"
android:textColor="#FFFFFF" />
<EditText
android:id="@+id/etloginEmail"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_above="@+id/etloginPassword"
android:layout_centerHorizontal="true"
android:layout_margin="30dp"
android:layout_marginBottom="36dp"
android:background="#BFFFFFFF"
android:ems="10"
android:gravity="center"
android:hint="Enter Email"
android:inputType="textEmailAddress"
android:textColor="#FFFFFF" />
<CheckBox
android:id="@+id/cbRemember"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_above="@+id/btnLogin"
android:layout_alignLeft="@+id/etloginPassword"
android:layout_alignRight="@+id/etloginPassword"
android:layout_marginBottom="62dp"
android:text="Remember Me"
android:textColor="#E6E6E6" />
<ImageButton
android:id="@+id/btnLogin"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="40dp"
android:background="@drawable/button"
android:src="@drawable/login_icon_2" />
</RelativeLayout>
最佳答案
也许您遇到此问题是因为您没有在 View (login.xml) 中将 Button 控件更改为 ImageButton。如果不是这种情况,您应该清理您的项目并再次构建它,R.java 文件有时不会随着新的更改而自行刷新(这个问题有点奇怪,但有时会发生)。
仅供记录...当发生这种问题并且您的代码没有错误时,这是因为您更改了控件的位置(例如...您的 Button 位于开始但一段时间后您将其移至布局的末尾)由于某种原因,项目没有意识到此更改,并且仍然认为您的 Button 是布局中的第一个控件。
很抱歉在答案中写下这个建议...我没有足够的观点来评论您的问题。
关于java - ImageButton 无法转换为 android.widget.Edittext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23374917/
我使用类 java 来自定义圆形图像按钮。现在我想将它转换为 ImageButton。但是给我错误ClassCastException。我需要帮助 !如果你有决心请给我。谢谢。 我用 rootView
我设置了一些样式来处理不同的 API(一种用于 v21,另一种用于任何低于该版本的 API)。我想为我的 ImageButton 设计一种样式,但它似乎没有按我预期的方式工作。 v-21 的风格是
所以我设置了 4 个普通图像按钮,然后是第 5 个图像按钮,它是一个拖放按钮。我希望 4 个非拖放图像按钮保留在特定位置,无论拖放图像按钮发生什么情况。当我移动拖放图像按钮时,其他图像按钮也会移动并且
我在后面的代码中创建了一个 ImageButton。现在我需要当客户端按下 ImageButton 时,ImageButton 将执行特定功能。问题是它不执行此特定功能。 这是代码- var img
我知道如何在单击时更改 ImageButton 的 src,但是当时我还想更改另一个 ImageButton 的 src。我不知道如何访问未单击的 ImageButton。我知道是身份证 编辑:值得一
其实我有两个问题: (1) 是否可以将另一个图像放在已经设置了 ImageUrl 的 ImageButton 之上(无需更改 ImageUrl - 字面上只是将第二个图像添加到“顶部”)?甚至通过使用
这是一张可以帮助你理解我的问题的图片: 我想将 ImageButton 中显示的图像拉伸(stretch)到 ImageButton 的整个区域。可以看到,编号为1的图片只占ImageButton的9
找不到以下类: - ImageButton(更改为android.widget.ImageButton、修复构建路径、编辑 XML) 当我使用 android:src="@drawable/chang
我正在开发一个应用程序,在某些时候它会显示一些“学习表”。问题是,对于每个项目,它应该显示两个按钮,这些按钮应该重叠在卡片 View 上,但它只适用于普通按钮,而使用图像按钮则不会发生这种情况。
如果我使用带有选择器的 ImageButton 作为其背景,是否有我可以更改的状态来改变它的外观?现在我可以让它在按下时更改图像,但似乎没有“突出显示”或“选择”或类似状态让我随意切换它的外观。 这是
我刚刚开始使用我的第一个音板。基本上这就是我到目前为止所拥有的(除了我有 40 个声音)。有谁知道更好的方法来做到这一点?我必须去约会,但我今天晚些时候会回来回复。谢谢你,任何可以帮助的人。 ----
我的“删除按钮(图像按钮)”的单击事件有问题。我知道大家对此还有其他疑问,但我什么也不明白! 我没听懂没有答案!我做了所有其他问题中指定的所有内容!此页面中的其他事件使“重定向”到示例,效果很好! 我
这是我的问题的后续: Asp:Label is not shown when visible is set to true? 在上面的问题中,我有一些控件的可见性未设置为 false,因为它们不在 U
我正在尝试创建一个测试应用程序,当我按下 ImageButton 时,会出现一条日志消息。简单。 我希望 ImageButton View 能够与类一起使用。 我是这样做的:更新了正确的 builde
嘿,我正在尝试进行对话。但整个对话框没有显示,只有底部 3 个图像按钮显示:这里出了什么问题?当我单击对话框内的按钮时,即使我做了一个开关盒,也没有任何反应。 customtype_dialog.xm
我正在尝试动态声明一个 ImageButton。 我声明它并为其分配一个 ID 和图像,如下所示: ImageButton btn = new ImageButton(); btn.ImageUrl
在我的应用程序中,我可以使用此类缩放 ImageView `公共(public)类 resizeAvatar 扩展 View { private final Drawable sfondoAvatar
我已将我的按钮设置为按 Facebook、Instagram、Twitter 和 Reddit 的顺序从上到下排列,但它没有这样做,它只显示 Facebook 和 Reddit,我不知道为什么。我有我
我是 Android 新手 我需要动态移动 ImageButton,就像当我单击按钮时它需要重新定位到一个新位置。我正在使用 AbsoluteLayout。 最佳答案 永远不要使用 AbsoluteL
我无法让 ImageButton 显示在屏幕右侧。如果我将 ImageButton 放在内部 LinearLayout 上方,它将显示在左侧,但是当我将它放在内部 LinearLayout 下方时,它
我是一名优秀的程序员,十分优秀!