我有三个textview并在它们上应用了clickevent,但当我点击它们中的任何一个时,它们会导致应用程序中出现Forceclose错误。我也尝试更改ids textviews然后清理项目并运行项目仍然没有删除错误。
我的XML代码是
一个textview
<LinearLayout
android:id="@+id/LL_fb"
android:layout_width="180px"
android:layout_height="27px"
android:layout_above="@+id/txt_msg_regs"
android:layout_alignLeft="@+id/LL_signup"
android:layout_marginBottom="25dp"
android:background="@drawable/facebook" >
<TextView
android:id="@+id/btn_txt_fb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Connect with facebook"
android:layout_gravity="center_vertical"
android:layout_marginLeft="23dp"
android:layout_marginTop="1dp"
android:clickable="true"
android:textColor="#FFFFFF" />
</LinearLayout>
用于第二次textview
<LinearLayout
android:id="@+id/LL_signup"
android:layout_width="180px"
android:layout_height="29px"
android:layout_above="@+id/textView1"
android:layout_alignLeft="@+id/LL_login"
android:background="@drawable/lmyic_signup">
<TextView
android:id="@+id/btn_txt_sinup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="signup with email"
android:layout_gravity="center_vertical"
android:layout_marginLeft="25dp"
android:layout_marginTop="1dp"
android:clickable="true"
android:textColor="#FFFFFF" />
</LinearLayout>
第三个
<LinearLayout
android:id="@+id/LL_login"
android:layout_width="180px"
android:layout_height="29px"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="69dp"
android:background="@drawable/lmyic_login">
<TextView
android:id="@+id/btn_txt_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Log in"
android:layout_gravity="center_vertical"
android:layout_marginLeft="70dp"
android:layout_marginTop="1dp"
android:textColor="#FFFFFF"
android:clickable="true"/>
</LinearLayout>
这是我的android代码。意图中的这个类名也是正确的,我验证了它们。
TextView img_login;
img_login = (TextView)findViewById(R.id.btn_txt_login);
img_login.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.getId() == img_login.getId())
{
Intent i_lin = new Intent(LockmeifyoucanActivity.this,lmiyc_login.class);
startActivity(i_lin);
}
}
});
请告诉我这有什么问题。如果需要logcat,那就问我吧....
答案 0 :(得分:1)
请发布完整的XMl,以便我们可以在其中查看btn_txt_login。
看起来它是按钮,因为“findViewById(R.id.btn_txt_login);”如果此“btn_txt_login”id不在xml中,则返回null。
答案 1 :(得分:1)
你在lmiyc_login activity.in lmiyc_login中的textview有一些问题,可能是:
TextView txtview;
txtview = (TextView)yourlayout.findViewById(R.id.txtviewid);
答案 2 :(得分:0)
findViewById(R.id.btn_txt_login);
这真的是TextView还是你的布局中还有一个Button?我想你正在尝试将Button转换为TextView
答案 3 :(得分:0)
错误的资源ID ......
img_login = (TextView)findViewById(R.id.btn_txt_login);
根据你的XML应该是
img_login = (TextView)findViewById(R.id.txt_login);
等。
答案 4 :(得分:0)
使用此
更改您的代码TextView img_login;
img_login = (TextView)findViewById(R.id.txt_login);
img_login.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.getId().equals(img_login.getId()))
{
Intent i_lin = new Intent(LockmeifyoucanActivity.this,lmiyc_login.class);
startActivity(i_lin);
}
}
});
答案 5 :(得分:0)
要快速解决此错误,请在行设置一个断点:
View view = findViewById(R.id.btn_txt_login);
然后,在本地选项卡上查看哪个组件正在查看gen/R.java.
答案 6 :(得分:0)
这些是42-48
的行 setContentView(R.layout.lmyic_login_page);
txtBack = (TextView)findViewById(R.id.ImgViewTxtBack); txtBack.setTypeface(null,Typeface.BOLD);
iv_login = (ImageView)findViewById(R.id.Txtlogin);
iv_login.setOnClickListener(this);
iv_sign_up = (ImageView)findViewById(R.id.TxtSignup);
我认为问题在于iv_login =(ImageView)findViewById(R.id.Txtlogin); - Dheeresh Singh 1分钟前编辑 因为这是46行,它应该是textview,你在Imageview中投射它 - Dheeresh Singh刚刚编辑
答案 7 :(得分:0)
如果您有重复的资源ID,则会抛出ClasscastException。因此,请确保整个项目中没有重复的元素ID。