Java 将android语言更改为“en”收到错误“NullPointerException”
当我启动应用程序时,我会遇到错误,但当我将默认语言更改为fa波斯语时,它工作正常。我认为问题出在Values文件夹中。我应该换成Vales en吗?值中的字符串与值fa中的字符串相同,我检查了1000次。但我仍然知道我收到了NavDrawerListAdapter.getView.setText的NullPointerException 导航抽屉适配器:Java 将android语言更改为“en”收到错误“NullPointerException”,java,android,nullpointerexception,Java,Android,Nullpointerexception,当我启动应用程序时,我会遇到错误,但当我将默认语言更改为fa波斯语时,它工作正常。我认为问题出在Values文件夹中。我应该换成Vales en吗?值中的字符串与值fa中的字符串相同,我检查了1000次。但我仍然知道我收到了NavDrawerListAdapter.getView.setText的NullPointerException 导航抽屉适配器: public View getView(int position, View convertView, ViewGroup parent) {
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater mInflater = (LayoutInflater)
context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.drawer_list_item, null);
}
ImageView imgIcon = (ImageView) convertView.findViewById(R.id.icon);
TextView txtTitle = (TextView) convertView.findViewById(R.id.title);
TextView txtCount = (TextView) convertView.findViewById(R.id.counter);
imgIcon.setImageResource(navDrawerItems.get(position).getIcon());
txtTitle.setText(navDrawerItems.get(position).getTitle());
// displaying count
// check whether it set visible or not
if(navDrawerItems.get(position).getCounterVisibility()){
txtCount.setText(navDrawerItems.get(position).getCount());
}else{
// hide the counter view
txtCount.setVisibility(View.GONE);
}
导航抽屉的启动值:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mDrawerListView = (ListView) inflater.inflate(R.layout.fragment_navigation_drawer, container, false);
mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
selectItem(position);
}
});
navMenuTitles = getResources().getStringArray(R.array.Item_arrey);
navMenuIcons = getResources().obtainTypedArray(R.array.nav_drawer_icons);
navDrawerItems = new ArrayList<NavDrawerItem>();
// adding nav drawer items to array
navDrawerItems.add(new NavDrawerItem(navMenuTitles[0], navMenuIcons.getResourceId(0, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[2], navMenuIcons.getResourceId(2, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[3], navMenuIcons.getResourceId(3, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[4], navMenuIcons.getResourceId(4, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[5], navMenuIcons.getResourceId(5, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[6], navMenuIcons.getResourceId(6, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[7], navMenuIcons.getResourceId(7, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[8], navMenuIcons.getResourceId(8, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[9], navMenuIcons.getResourceId(9, -1), true, "Online"));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[10], navMenuIcons.getResourceId(10, -1), true, "100%"));
// Recycle the typed array
navMenuIcons.recycle();
adapter = new NavDrawerListAdapter(getActivity().getApplicationContext(),navDrawerItems);
mDrawerListView.setAdapter(adapter);
return mDrawerListView;
}
没有U的Vales en是打字错误吗?顺便说一句,试试values en,小写vI就可以了,我不工作了。你需要一个默认语言的values文件夹,然后检查Logcat,因为你的翻译文件中可能缺少一个或多个单词。还可能拼写了一个字符串名。我有值,值en,值fa。我检查了拼写。100%确定它是正确的。但仍然是NullPointerExeption发布完整的Logcat错误
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mDrawerListView = (ListView) inflater.inflate(R.layout.fragment_navigation_drawer, container, false);
mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
selectItem(position);
}
});
navMenuTitles = getResources().getStringArray(R.array.Item_arrey);
navMenuIcons = getResources().obtainTypedArray(R.array.nav_drawer_icons);
navDrawerItems = new ArrayList<NavDrawerItem>();
// adding nav drawer items to array
navDrawerItems.add(new NavDrawerItem(navMenuTitles[0], navMenuIcons.getResourceId(0, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[2], navMenuIcons.getResourceId(2, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[3], navMenuIcons.getResourceId(3, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[4], navMenuIcons.getResourceId(4, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[5], navMenuIcons.getResourceId(5, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[6], navMenuIcons.getResourceId(6, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[7], navMenuIcons.getResourceId(7, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[8], navMenuIcons.getResourceId(8, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[9], navMenuIcons.getResourceId(9, -1), true, "Online"));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[10], navMenuIcons.getResourceId(10, -1), true, "100%"));
// Recycle the typed array
navMenuIcons.recycle();
adapter = new NavDrawerListAdapter(getActivity().getApplicationContext(),navDrawerItems);
mDrawerListView.setAdapter(adapter);
return mDrawerListView;
}
12-10 00:58:43.564: D/AndroidRuntime(9002): --------- beginning of crash
12-10 00:58:43.570: E/AndroidRuntime(9002): FATAL EXCEPTION: main
12-10 00:58:43.570: E/AndroidRuntime(9002): Process: com.sss.exchangecenter, PID: 9002
12-10 00:58:43.570: E/AndroidRuntime(9002): java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
12-10 00:58:43.570: E/AndroidRuntime(9002): at com.sss.exchangecenter.NavDrawerListAdapter.getView(NavigationDrawerFragment.java:385)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.widget.AbsListView.obtainView(AbsListView.java:2344)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.widget.ListView.makeAndAddView(ListView.java:1864)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.widget.ListView.fillDown(ListView.java:698)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.widget.ListView.fillFromTop(ListView.java:759)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.widget.ListView.layoutChildren(ListView.java:1673)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.widget.AbsListView.onLayout(AbsListView.java:2148)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.View.layout(View.java:15596)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.ViewGroup.layout(ViewGroup.java:4966)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.View.layout(View.java:15596)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.ViewGroup.layout(ViewGroup.java:4966)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:911)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.View.layout(View.java:15596)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.ViewGroup.layout(ViewGroup.java:4966)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.View.layout(View.java:15596)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.ViewGroup.layout(ViewGroup.java:4966)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.support.v7.internal.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:502)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.View.layout(View.java:15596)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.ViewGroup.layout(ViewGroup.java:4966)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.View.layout(View.java:15596)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.ViewGroup.layout(ViewGroup.java:4966)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.View.layout(View.java:15596)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.ViewGroup.layout(ViewGroup.java:4966)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.View.layout(View.java:15596)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.ViewGroup.layout(ViewGroup.java:4966)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2072)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1829)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5779)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.Choreographer.doCallbacks(Choreographer.java:580)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.Choreographer.doFrame(Choreographer.java:550)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.os.Handler.handleCallback(Handler.java:739)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.os.Handler.dispatchMessage(Handler.java:95)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.os.Looper.loop(Looper.java:135)
12-10 00:58:43.570: E/AndroidRuntime(9002): at android.app.ActivityThread.main(ActivityThread.java:5221)
12-10 00:58:43.570: E/AndroidRuntime(9002): at java.lang.reflect.Method.invoke(Native Method)
12-10 00:58:43.570: E/AndroidRuntime(9002): at java.lang.reflect.Method.invoke(Method.java:372)
12-10 00:58:43.570: E/AndroidRuntime(9002): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
12-10 00:58:43.570: E/AndroidRuntime(9002): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)