当我运行我的应用程序时,它显示当我在该行setContentView(R.layout.activity_main)
上放置一个try块时,我的应用程序已停止工作,
它抛出
的例外Error inflating class ImageButton.
我认为XML代码存在问题,帮助我找到问题。
Java代码
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
setContentView(R.layout.activity_main);
}
catch(Exception e){
Log.i("Error>>> ",e.getMessage());
}
}
public void change(View view){
ImageButton Tom= (ImageButton) findViewById(R.id.cartoon);
Tom.animate().alpha(0.3f).setDuration(2000);
Tom.setImageResource(R.drawable.jerry);
}
}
XML代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.chhabib.animations.MainActivity">
<ImageButton
android:id="@+id/cartoon"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:contentDescription="@string/this_is_tom"
android:onClick="change"
app:srcCompat="@drawable/tom" />
</RelativeLayout>
答案 0 :(得分:1)
我找到了解决问题的方法。 实际上我将图像复制到drawable(v24),但当我将图像复制到drawable文件夹时,我的问题解决了。但现在我正在寻找drawable文件夹和drawable(v24)文件夹之间的区别。
答案 1 :(得分:0)
确保您的图片来源是Android支持的类型。
并尝试同时放置android:src="@drawable/tom"
<ImageButton
android:id="@+id/cartoon"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:contentDescription="@string/this_is_tom"
android:onClick="change"
android:src="@drawable/tom"
app:srcCompat="@drawable/tom"/>