現在、1つのタブ内に2つのアクティビティがあります。2番目のアクティビティでは、カスタムリストとカスタムがありますspinner
。スピナーのデータとlistview
サーバーから受信されます...それは問題なく動作します。したがって、2番目のアクティビティでをクリックするspinner
と、アプリがクラッシュし、次のように表示されlogcat
ます。
08-13 11:54:55.908: E/AndroidRuntime(13555): java.lang.NullPointerException
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:355)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.widget.ArrayAdapter.getDropDownView(ArrayAdapter.java:376)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.widget.Spinner$DropDownAdapter.getDropDownView(Spinner.java:332)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.widget.Spinner$DropDownAdapter.getView(Spinner.java:328)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.widget.AbsListView.obtainView(AbsListView.java:1474)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.widget.ListView.measureHeightOfChildren(ListView.java:1216)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.widget.ListView.onMeasure(ListView.java:1127)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.view.View.measure(View.java:8335)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.widget.LinearLayout.measureVertical(LinearLayout.java:386)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.view.View.measure(View.java:8335)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.widget.LinearLayout.measureVertical(LinearLayout.java:386)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
08-13 11:54:55.908: E/AndroidRuntime(13555): at com.android.internal.widget.WeightedLinearLayout.onMeasure(WeightedLinearLayout.java:60)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.view.View.measure(View.java:8335)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.view.View.measure(View.java:8335)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.view.View.measure(View.java:8335)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.view.ViewRoot.performTraversals(ViewRoot.java:843)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.view.ViewRoot.handleMessage(ViewRoot.java:1892)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.os.Handler.dispatchMessage(Handler.java:99)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.os.Looper.loop(Looper.java:130)
08-13 11:54:55.908: E/AndroidRuntime(13555): at android.app.ActivityThread.main(ActivityThread.java:3835)
08-13 11:54:55.908: E/AndroidRuntime(13555): at java.lang.reflect.Method.invokeNative(Native Method)
08-13 11:54:55.908: E/AndroidRuntime(13555): at java.lang.reflect.Method.invoke(Method.java:507)
08-13 11:54:55.908: E/AndroidRuntime(13555): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
08-13 11:54:55.908: E/AndroidRuntime(13555): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
08-13 11:54:55.908: E/AndroidRuntime(13555): at dalvik.system.NativeStart.main(Native Method)
私はこれらの投稿を見てきました-> Android:WindowManager $ BadTockenException on Spinner Clickは私の最初の問題を解決し、アクティビティグループ内のカスタムリストのスピナーの問題は何も与えませんでした。
ビューとスピナー、およびカスタムアダプターを設定する方法は次のとおりです。
View viewToLoad = LayoutInflater.from(this.getParent()).inflate(R.layout.atlaides, null);
this.setContentView(viewToLoad);
//setContentView(R.layout.atlaides);
sp = (Spinner) viewToLoad.findViewById(R.id.spinner1);
MySpiner sxspin = new MySpiner(this.getParent(), R.layout.c_spinner, android.R.id.text1, categories);
sxspin.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
this.sp.setAdapter(sxspin);
私のカスタムスピナーアダプターは次のようになります。
private class MySpiner extends ArrayAdapter<String>{
public MySpiner(Context context, int resource, int textViewResourceId,
List<String> objects) {
super(context, resource, textViewResourceId, objects);
// TODO Auto-generated constructor stub
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater pieputejs = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = pieputejs.inflate(R.layout.c_spinner, parent,false);
TextView text = (TextView)view.findViewById(R.id.textView1);
text.setText(categories.get(position));
//text.setTextColor(Color.GRAY);
//text.setShadowLayer(2.5f, 2, 2, Color.WHITE);
//text.setGravity(TextView.FOCUS_LEFT);
return view;
}
}