【发布时间】:2017-05-11 15:37:49
【问题描述】:
我的 android 应用程序中有一系列按钮,当我使用调试器查看程序是否正常工作时,我看到了这条消息
No such instance field: 'btnEmail'
这是我的 Fragment,名为 ContactoFragment.java:
public class ContactoFragment extends Fragment {
Button btnEmail, btnFacebook, btnTwitter, btnGooglePlus;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
RelativeLayout rootview = (RelativeLayout) inflater.inflate(R.layout.fragment_contacto, container, false);
btnEmail = (Button) rootview.findViewById(R.id.btnEmail);
btnEmail.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intentEmail = new Intent(Intent.ACTION_SEND);
intentEmail.setType("text/plain");
intentEmail.putExtra(Intent.EXTRA_EMAIL,"atellez@iesnervion.es");
intentEmail.putExtra(Intent.EXTRA_SUBJECT,"Nueva sugerencia");
}
});
btnTwitter = (Button) rootview.findViewById(R.id.btnTwitter);
btnTwitter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
btnFacebook = (Button) rootview.findViewById(R.id.btnFacebook);
btnFacebook.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
btnGooglePlus = (Button) rootview.findViewById(R.id.btnGooglePlus);
btnGooglePlus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
return rootview;
}
}
这是我的 fragment_contacto.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="es.laramira.atellez.moroninfo.Fragments.ContactoFragment">
<TextView
android:id="@+id/txtSuggest"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="¿Tienes alguna sugerencia? :)"
android:textSize="22sp"
android:textAlignment="center"
android:textStyle="bold"
android:textColor="#000"
android:layout_marginTop="60dp"
android:layout_centerHorizontal="true"/>
<Button
android:id="@+id/btnEmail"
android:drawableLeft="@drawable/ic_email"
android:text="Email"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_below="@+id/txtSuggest"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:backgroundTint="#757575"/>
<Button
android:id="@+id/btnFacebook"
android:drawableLeft="@drawable/ic_facebook"
android:text="Facebook"
android:layout_marginTop="20dp"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_below="@+id/btnTwitter"
android:layout_alignLeft="@+id/btnTwitter"
android:layout_alignStart="@+id/btnTwitter"
android:backgroundTint="#3F51B5"/>
<Button
android:id="@+id/btnTwitter"
android:drawableLeft="@drawable/ic_twitter"
android:text="Twitter"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_below="@+id/btnEmail"
android:layout_alignLeft="@+id/btnEmail"
android:layout_alignStart="@+id/btnEmail"
android:backgroundTint="#2196F3"/>
<Button
android:id="@+id/btnGooglePlus"
android:drawableLeft="@drawable/ic_google_plus"
android:text="Google+"
android:layout_marginTop="20dp"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_below="@+id/btnFacebook"
android:layout_alignLeft="@+id/btnFacebook"
android:layout_alignStart="@+id/btnFacebook"
android:backgroundTint="#F44336"/>
</RelativeLayout>
有什么问题?正确的解决方案是什么?
【问题讨论】:
-
检查 R.java 代码,看看你的 btnEmail 是否有任何价值。如果你没有更新 R 或者 xml 有一些错误,可能会导致这个问题。
-
你在用proguard吗?
-
@MichaelKrause 我没有使用 proguard
标签: android