---->> java.lang.RuntimeException:无法启动活动ComponentInfo {sharedpreferenceex.app.htc.com.listview_lv / sharedpreferenceex.app.htc.com.listview_lv.MyGrid}:android.view.InflateException:二进制XML文件行#44:错误膨胀class com.android.internal.widget.ActionBarContextView
---->>引起:android.view.InflateException:二进制XML文件行#44:错误输出类com.android.internal.widget.ActionBarContextView
---->>引起:java.lang.reflect.InvocationTargetException
---->>原因:java.lang.RuntimeException:无法解析索引13处的属性
我面临上述三个例外。我只是试图运行一个应用程序来显示活动中的文本视图。这些例外到达活动本身的onCreate方法。
我也查看了所有的stackoverflow anwers,但无法弄清楚问题。
我的Manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MyGrid"
android:label="@string/title_activity_my_grid" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
活动xml
<LinearLayout 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" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:textSize="25dp"
android:id="@+id/tv_example" />
活动代码
public class MyGrid extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_grid);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_my_grid, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
答案 0 :(得分:4)
我明白了。 我使用的移动设备不支持我在程序中使用的主题(Styles.xml)。 根据设备更改主题。 在styles.xml中设置错误的主题是这些例外的原因。
答案 1 :(得分:2)
对我来说,这是由切换到AndroidX并打开了jetifier触发的。解决方案:将应用主题中的Theme.AppCompat
更改为Theme.MaterialComponents
。