public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
dbItem = new ArrayList<MyItem>();
MyItem mi;
mHelper = new DatabaseHelper(this);
mCursor = mHelper.getWritableDatabase().rawQuery("SELECT _ID, name, clear, level, division, version FROM spacemix", null);
while(mCursor.moveToNext())
{
mi = new MyItem(mCursor.getString(1), mCursor.getInt(2), mCursor.getInt(3), mCursor.getString(4));
dbItem.add(mi);
}
MyListAdapter MyAdapter = new MyListAdapter(this, R.layout.row, dbItem);
ListView MyList;
MyList=(ListView)findViewById(R.id.row_list);
MyList.setAdapter(MyAdapter);
}class MyItem
{
String item_name;
int item_clear;
int item_level;
String item_division;
MyItem(String aname, int aclear, int alevel, String adivision)
{
item_name = aname;
item_clear = aclear;
item_level = alevel;
item_division = adivision;
}
} class MyListAdapter extends BaseAdapter {
Context maincon;
LayoutInflater Inflater;
ArrayList<MyItem> arSrc;
int layout; public MyListAdapter(Context context, int alayout, ArrayList<MyItem> aarSrc) {
maincon = context;
Inflater = (LayoutInflater)context.getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
arSrc = aarSrc;
layout = alayout;
} public int getCount() {
return arSrc.size();
} public String getItem(int position) {
return arSrc.get(position).item_name;
} public long getItemId(int position) {
return position;
} // 각 항목의 뷰 생성
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = Inflater.inflate(layout, parent, false);
}
TextView txt1 = (TextView)convertView.findViewById(R.id.name);
txt1.setText(arSrc.get(position).item_name);
TextView txt2 = (TextView)convertView.findViewById(R.id.clear); if(arSrc.get(position).item_clear == 0)
{
txt2.setBackgroundColor(Color.rgb(243, 152, 0));
}
else if(arSrc.get(position).item_clear == 1)
{
txt2.setBackgroundColor(Color.rgb(0, 153, 68));
}
else if(arSrc.get(position).item_clear == 2)
{
txt2.setBackgroundColor(Color.BLUE);
}
else
{
txt2.setBackgroundColor(Color.BLACK);
}
TextView txt3 = (TextView)convertView.findViewById(R.id.level);
txt3.setText(arSrc.get(position).item_level);
TextView txt4 = (TextView)convertView.findViewById(R.id.division);
txt4.setText(arSrc.get(position).item_division);return convertView; } }
DB에서 정보를 받아와서 한줄에 4개의 텍스트뷰에다가 내용을 쓰고 조건에 맞춰 색을 입히는 프로그램인데요,
그냥 심플커서어댑터로 하면 잘되는데 커스텀어댑터로하면 실행이 안되네요 ㅠㅠ
도와주세요 ㅠ
먼저 댓글 감사드립니다!!
알려주신대루 바꿔 봤는데요 Inflater.from(maincon) <-- 요기에 노란줄이 쳐져있어요 경고라서 상관없긴 하지겠지만요..
Description Resource Path Location Type
The static method from(Context) from the type LayoutInflater should be accessed in a static way ez2viewlist.java /ez2spacemix/src/kr/ez2spacemix line 214 Java Problem
바꿔도 실행은 안되네요 ㅠㅠ
컴파일이랑은 다 되는데 실행하면 어플리케이션이 예상치않게 중지되었습니다. 라고 나와요 ㅠ
ㅠㅠ감사합니당 에러로그예요 ㅠㅠ
10-13 21:41:50.065: ERROR/power(2998): *** set_screen_state 1
10-13 21:41:50.065: ERROR/SensorManager(2998): registerListener :: handle = 3 name= CM3663 Light Sensor delay= 200000 Listener= com.android.server.PowerManagerService$13@4051fa78
10-13 21:41:50.080: ERROR/SensorManager(2998): reg :: handle = 3
10-13 21:41:50.080: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 5
10-13 21:41:50.090: ERROR/SensorManager(2998): registerListener :: handle = 0 name= K3DH Acceleration Sensor delay= 200000 Listener= android.view.WindowOrientationListener$SensorEventListenerImpl@409c6c40
10-13 21:41:50.090: ERROR/SensorManager(2998): reg :: handle = 0
10-13 21:41:50.100: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 11
10-13 21:41:50.115: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 17
10-13 21:41:50.130: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 23
10-13 21:41:50.160: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 29
10-13 21:41:50.165: ERROR/lights(2998): write_int: path /sys/class/leds/red/brightness, value 0
10-13 21:41:50.165: ERROR/lights(2998): write_int: path /sys/class/leds/green/brightness, value 255
10-13 21:41:50.165: ERROR/lights(2998): write_int: path /sys/class/leds/blue/brightness, value 0
10-13 21:41:50.165: ERROR/lights(2998): write_int: path /sys/class/leds/red/device/blink, value 0
10-13 21:41:50.165: ERROR/lights(2998): write_int: path /sys/class/leds/red/brightness, value 0
10-13 21:41:50.165: ERROR/lights(2998): write_int: path /sys/class/leds/green/brightness, value 255
10-13 21:41:50.165: ERROR/lights(2998): write_int: path /sys/class/leds/blue/brightness, value 0
10-13 21:41:50.165: ERROR/lights(2998): write_int: path /sys/class/leds/red/device/blink, value 0
10-13 21:41:50.170: ERROR/SensorManager(2998): registerListener :: handle = 0 name= K3DH Acceleration Sensor delay= 200000 Listener= android.view.WindowOrientationListener$SensorEventListenerImpl@40ab6c98
10-13 21:41:50.170: ERROR/SensorManager(2998): reg :: handle = 0
10-13 21:41:50.175: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 34
10-13 21:41:50.175: ERROR/WLBroadcast(3855): VISIBLE atLockScreen:true inInteraction:true
10-13 21:41:50.200: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 40
10-13 21:41:50.200: ERROR/SensorManager(3176): registerListener :: handle = 0 name= K3DH Acceleration Sensor delay= 200000 Listener= android.view.OrientationEventListener$SensorEventListenerImpl@4052ed40
10-13 21:41:50.205: ERROR/SensorManager(3176): reg :: handle = 0
10-13 21:41:50.215: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 46
10-13 21:41:50.235: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 52
10-13 21:41:50.305: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 57
10-13 21:41:50.325: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 63
10-13 21:41:50.340: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 69
10-13 21:41:50.360: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 75
10-13 21:41:50.375: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 81
10-13 21:41:50.390: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 87
10-13 21:41:50.405: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 92
10-13 21:41:50.425: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 98
10-13 21:41:50.440: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 104
10-13 21:41:50.455: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 110
10-13 21:41:50.470: ERROR/lights(2998): write_int: path /sys/class/backlight/pwm-backlight/brightness, value 116
10-13 21:41:51.480: ERROR/lights(2998): write_int: path /sys/class/leds/keyboard-backlight/brightness, value 0
10-13 21:41:54.245: ERROR/lights(2998): write_int: path /sys/devices/virtual/misc/melfas_touchkey/brightness, value 1
10-13 21:41:55.815: ERROR/lights(2998): write_int: path /sys/devices/virtual/misc/melfas_touchkey/brightness, value 2
10-13 21:42:01.095: ERROR/AndroidRuntime(20128): /system/csc/customer.xml can't open file
10-13 21:42:01.095: ERROR/AndroidRuntime(20128): /system/csc/customer.xml ==> cannot open file
10-13 21:42:01.095: ERROR/AndroidRuntime(20128): /system/csc/feature.xml ==> cannot open file
10-13 21:42:01.340: ERROR/AndroidRuntime(20138): /system/csc/customer.xml can't open file
10-13 21:42:01.340: ERROR/AndroidRuntime(20138): /system/csc/customer.xml ==> cannot open file
10-13 21:42:01.340: ERROR/AndroidRuntime(20138): /system/csc/feature.xml ==> cannot open file
10-13 21:42:01.480: ERROR/SensorManager(3176): unregisterListener:: all sensors, listener = android.view.OrientationEventListener$SensorEventListenerImpl@4052ed40
10-13 21:42:01.505: ERROR/WLBroadcast(3855): HIDDEN
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): FATAL EXCEPTION: main
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): java.lang.RuntimeException: Unable to start activity ComponentInfo{kr.ez2spacemix/kr.ez2spacemix.ez2viewlist}: java.lang.NullPointerException
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): at android.os.Handler.dispatchMessage(Handler.java:99)
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): at android.os.Looper.loop(Looper.java:130)
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): at android.app.ActivityThread.main(ActivityThread.java:3691)
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): at java.lang.reflect.Method.invokeNative(Native Method)
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): at java.lang.reflect.Method.invoke(Method.java:507)
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): at dalvik.system.NativeStart.main(Native Method)
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): Caused by: java.lang.NullPointerException
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): at kr.ez2spacemix.ez2viewlist.onCreate(ez2viewlist.java:43)
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
10-13 21:42:01.580: ERROR/AndroidRuntime(20147): ... 11 more
10-13 21:42:01.585: ERROR/(2998): Dumpstate > /data/log/dumpstate_app_error
10-13 21:42:06.915: ERROR/SensorManager(3176): registerListener :: handle = 0 name= K3DH Acceleration Sensor delay= 200000 Listener= android.view.OrientationEventListener$SensorEventListenerImpl@4052ed40
10-13 21:42:06.915: ERROR/SensorManager(3176): reg :: handle = 0
10-13 21:42:08.780: ERROR/lights(2998): write_int: path /sys/devices/virtual/misc/melfas_touchkey/brightness, value 1
10-13 21:42:10.375: ERROR/lights(2998): write_int: path /sys/devices/virtual/misc/melfas_touchkey/brightness, value 2
몇가지 지적해드리면 public String getItem(int position) 이부분 원래는
public object getItem(int position) 일텐데 바꾸셔네요 ㅡㅡㅋ;; 아이템객체를 받아야하니
public MyItem getItem(int position) 하고 리턴은 arSrc.get(position)
그리고 getView에서 arSrc.get(position) 이거 여러번 호출하지마시고 한 클래스변수에 담아서 처리하시고(이게 오류는아님 .. 성능 이슈? )
중간에 if else if는 switch 로 변경해서 하세요 상수값비교는 switch가 좋습니다. if else if는 하나씩 차례로검사해요~




에러 로그도 같이 올려주시면 도와드리는 편해요 ^^
convertView = Inflater.inflate(layout, parent,false);이 라인을
convertView = Inflater.from(maincon).inflate(layout, parent,false);으로 바꿔보세요
인플레이트는 컨텍스트가 지정되야 에러 없이 적용되요