リストビューで editText の値を取得する際に問題が発生しています。logcat は、Nullpointerexception があることを示しています。それについていくつかの調査を行ったところ、私のコードではリストビューの表示可能な子のインデックスのみを取得していることがわかりました。誰でもこれで私を助けることができますか?私が望むのは、リストビュー内のすべての editText の値を取得することだけです。これが私のコードです
SQLiteDatabase db = databaseHandler.getWritableDatabase();
db.beginTransaction();
int counter = 0;
for(HashMap<String, String> map : mylist)
{
ContentValues cv = new ContentValues();
String string = "";
for (int i = 0; i < lv_AttachedFileData.getCount(); i++)
{
if (i == counter)
{
View view=lv_AttachedFileData.getChildAt(i);
EditText editText=(EditText) view.findViewById(R.id.txt_iDesc);
string = editText.getText().toString();
cv.put(Constants.ATTACH_REPORTCODE, ReportCode);
cv.put(Constants.ATTACH_FILENAME, map.get(FILE_NAME));
cv.put(Constants.ATTACH_DESCRIPTION, string);
cv.put(Constants.ATTACH_FILELOCATION, map.get(FILE_URI));
cv.put(Constants.ATTACH_CREATEDBY, map.get(UPLOADED_BY));
cv.put(Constants.ATTACH_DATECREATED, map.get(DATE_UPLOADED));
db.insert(Constants.TABLE_ATTACH, null, cv);
}
}
counter++;
}
db.setTransactionSuccessful();
db.endTransaction();
db.close();
これが私のlogcatです:
07-22 10:18:43.000: E/AndroidRuntime(9001): FATAL EXCEPTION: main
07-22 10:18:43.000: E/AndroidRuntime(9001): java.lang.NullPointerException
07-22 10:18:43.000: E/AndroidRuntime(9001): at ph.com.ex.ireport.S_10th_IReportMain$6.onClick(S_10th_IReportMain.java:597)
07-22 10:18:43.000: E/AndroidRuntime(9001): at android.view.View.performClick(View.java:3131)
07-22 10:18:43.000: E/AndroidRuntime(9001): at android.view.View$PerformClick.run(View.java:12035)
07-22 10:18:43.000: E/AndroidRuntime(9001): at android.os.Handler.handleCallback(Handler.java:587)
07-22 10:18:43.000: E/AndroidRuntime(9001): at android.os.Handler.dispatchMessage(Handler.java:92)
07-22 10:18:43.000: E/AndroidRuntime(9001): at android.os.Looper.loop(Looper.java:132)
07-22 10:18:43.000: E/AndroidRuntime(9001): at android.app.ActivityThread.main(ActivityThread.java:4123)
07-22 10:18:43.000: E/AndroidRuntime(9001): at java.lang.reflect.Method.invokeNative(Native Method)
07-22 10:18:43.000: E/AndroidRuntime(9001): at java.lang.reflect.Method.invoke(Method.java:491)
07-22 10:18:43.000: E/AndroidRuntime(9001): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844)
07-22 10:18:43.000: E/AndroidRuntime(9001): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
07-22 10:18:43.000: E/AndroidRuntime(9001): at dalvik.system.NativeStart.main(Native Method)