OSDN Git Service

路線名編集画面修正。バグあり
authorYuji Konishi <yuji.k64613@gmail.com>
Fri, 29 Jul 2011 14:06:20 +0000 (23:06 +0900)
committerYuji Konishi <yuji.k64613@gmail.com>
Fri, 29 Jul 2011 14:06:20 +0000 (23:06 +0900)
workspace/TrainDelayed/res/layout/train_edit.xml
workspace/TrainDelayed/src/com/td/TrainEditActivity.java
workspace/TrainDelayed/src/com/td/TrainListActivity.java

index 66b9039..14d7629 100644 (file)
@@ -28,6 +28,6 @@
 </ScrollView>\r
 <LinearLayout android:id="@+id/LinearLayout34" android:layout_width="fill_parent" android:layout_height="wrap_content">\r
        <Button android:text="@+string/def_button" android:layout_weight="1" android:id="@+id/button31" android:layout_width="fill_parent" android:layout_height="wrap_content" /> \r
-       <Button android:text="@+string/return_button" android:layout_weight="1" android:id="@+id/button32" android:layout_width="fill_parent" android:layout_height="wrap_content" /> \r
+       <Button android:text="@+string/return_button" android:layout_weight="1" android:id="@+id/button32" android:layout_width="fill_parent" android:layout_height="wrap_content" />\r
 </LinearLayout>\r
 </LinearLayout>\r
index 84c3a3a..1c23f9d 100644 (file)
@@ -6,6 +6,7 @@ import android.text.Editable;
 import android.text.TextWatcher;\r
 import android.view.View;\r
 import android.view.View.OnClickListener;\r
+import android.view.WindowManager.LayoutParams;\r
 import android.widget.Button;\r
 import android.widget.CheckBox;\r
 import android.widget.EditText;\r
@@ -38,6 +39,7 @@ public class TrainEditActivity extends BaseActivity {
        @Override\r
        public void onCreate(Bundle savedInstanceState) {\r
                super.onCreate(savedInstanceState);\r
+               getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);\r
                setContentView(R.layout.train_edit);\r
                \r
                editText1 = (EditText) findViewById(R.id.editText31);\r
@@ -53,6 +55,7 @@ public class TrainEditActivity extends BaseActivity {
                editText2.addTextChangedListener(new TextWatcher() {\r
                        public void afterTextChanged(Editable editable) {\r
                                editText();\r
+                               setStatus();\r
                        }\r
 \r
                        public void beforeTextChanged(CharSequence s, int start, int count,\r
@@ -69,11 +72,13 @@ public class TrainEditActivity extends BaseActivity {
                checkBox1.setOnClickListener(new OnClickListener(){\r
                        public void onClick(View view) {\r
                                editLine();\r
+                               setStatus();\r
                        }\r
                });\r
                checkBox2.setOnClickListener(new OnClickListener(){\r
                        public void onClick(View view) {\r
                                editJR();\r
+                               setStatus();\r
                        }\r
                });\r
                button1.setOnClickListener(new OnClickListener(){\r
@@ -81,17 +86,20 @@ public class TrainEditActivity extends BaseActivity {
                                long id = train.getId();\r
                                String sname = train.getSearchText();\r
                                TrainDao.getInstance().set(id, sname, true);\r
-                               TrainEditActivity.this.finish();\r
+                               \r
+                               setResult(RESULT_OK);\r
+                               finish();\r
                        }});\r
                button2.setOnClickListener(new OnClickListener(){\r
                        public void onClick(View view) {\r
-                               TrainEditActivity.this.finish();\r
+                               setResult(RESULT_CANCELED);\r
+                               finish();\r
                        }});\r
                button3.setOnClickListener(new OnClickListener(){\r
                        public void onClick(View view) {\r
-                               String sname = train.getSearchText();\r
-                               sname = RouteUpdater.filter(sname);\r
-                               editText2.setText(sname);\r
+                               String name = train.getName();\r
+                               name = RouteUpdater.filter(name);\r
+                               editText2.setText(name);\r
                        }});\r
        }\r
        \r
@@ -124,7 +132,7 @@ public class TrainEditActivity extends BaseActivity {
                }\r
                editText1.setText(name);\r
                editText2.setText(sname);\r
-               editText();\r
+               initStatus();\r
 \r
                super.onResume();\r
        }\r
@@ -148,11 +156,45 @@ public class TrainEditActivity extends BaseActivity {
        }\r
 \r
        private void editText(){\r
+               String sname = train.getSearchText();\r
+               train.setSearchText(sname);\r
+       }\r
+\r
+       private void editLine() {\r
+               if (train == null){\r
+                       return;\r
+               }\r
+               String sname = train.getSearchText();\r
+               if (checkBox1.isChecked()){\r
+                       int len = sname.length();\r
+                       sname = sname.substring(0, len - 1);\r
+               }\r
+               else {\r
+                       sname += LINE;\r
+               }\r
+               editText2.setText(sname);\r
+               train.setSearchText(sname);\r
+       }\r
+       \r
+       private void editJR() {\r
                if (train == null){\r
                        return;\r
                }\r
-               String name = editText1.getText().toString();\r
                String sname = editText2.getText().toString();\r
+               if (checkBox2.isChecked()){\r
+                       int len = sname.length();\r
+                       sname = sname.substring(2, len);\r
+               }\r
+               else {\r
+                       sname = JR + sname;\r
+               }                               \r
+               editText2.setText(sname);\r
+               train.setSearchText(sname);\r
+       }\r
+       \r
+       private void initStatus(){\r
+               String name = train.getName();\r
+               String sname = train.getSearchText();\r
                 \r
                 int len = name.length();\r
                 String ch = name.substring(len - 1, len);\r
@@ -179,38 +221,18 @@ public class TrainEditActivity extends BaseActivity {
                         }\r
                         checkBox2.setChecked(!ch2.equals(JR));\r
                 }\r
-               train.setSearchText(sname);\r
        }\r
-\r
-       private void editLine() {\r
-               if (train == null){\r
+       \r
+       private void setStatus(){\r
+               if (button1 == null){\r
                        return;\r
                }\r
-               String sname = editText2.getText().toString();\r
-               if (checkBox1.isChecked()){\r
-                       int len = sname.length();\r
-                       sname = sname.substring(0, len - 1);\r
+               if (train != null && train.getSearchText().length() > 0){\r
+                       button1.setEnabled(true);\r
                }\r
                else {\r
-                       sname += LINE;\r
+                       button1.setEnabled(false);                      \r
                }\r
-               editText2.setText(sname);\r
-               train.setSearchText(sname);\r
        }\r
        \r
-       private void editJR() {\r
-               if (train == null){\r
-                       return;\r
-               }\r
-               String sname = editText2.getText().toString();\r
-               if (checkBox2.isChecked()){\r
-                       int len = sname.length();\r
-                       sname = sname.substring(2, len);\r
-               }\r
-               else {\r
-                       sname = JR + sname;\r
-               }                               \r
-               editText2.setText(sname);\r
-               train.setSearchText(sname);\r
-       }\r
 }\r
index 335d4b9..270b344 100644 (file)
@@ -20,19 +20,22 @@ import com.td.utility.EditPrefUtil;
 \r
 public class TrainListActivity extends BaseActivity {\r
        private EditPrefUtil pref = new EditPrefUtil(this);\r
-\r
+       private ListView listView;\r
+       private List<Train> list;\r
+       private int position = -1;\r
+       \r
        @Override\r
        public void onCreate(Bundle savedInstanceState) {\r
                super.onCreate(savedInstanceState);\r
                setContentView(R.layout.train_list);\r
        \r
-               ListView listView = (ListView) findViewById(R.id.menu51);\r
+               listView = (ListView) findViewById(R.id.menu51);\r
                Button button1 = (Button) findViewById(R.id.button51);\r
                \r
            Bundle extras = getIntent().getExtras();\r
            long pid = extras.getLong("PID");   \r
            \r
-               final List<Train> list = TrainDao.getInstance().search(pid);\r
+               list = TrainDao.getInstance().search(pid);\r
                TrainListViewArrayAdapter adapter = new TrainListViewArrayAdapter(this,\r
                                android.R.layout.simple_list_item_1, list);\r
                listView.setAdapter(adapter);\r
@@ -40,6 +43,8 @@ public class TrainListActivity extends BaseActivity {
                listView.setOnItemClickListener(new OnItemClickListener() {\r
                        public void onItemClick(AdapterView<?> parent, View view, int position,\r
                                        long id) {\r
+                               TrainListActivity.this.position = position;\r
+                               \r
                                Train item = list.get(position);\r
                                boolean selected = item.isSelected();\r
                                \r
@@ -62,7 +67,7 @@ public class TrainListActivity extends BaseActivity {
                                        Intent intent = new Intent(TrainListActivity.this,\r
                                                        (Class<?>) TrainEditActivity.class);\r
                                        intent.putExtra("ID", item.getId());\r
-                                       startActivityForResult(intent, -1);                                     \r
+                                       startActivityForResult(intent, 0);                                      \r
                                }\r
                        }\r
                });\r
@@ -72,4 +77,20 @@ public class TrainListActivity extends BaseActivity {
                                TrainListActivity.this.finish();\r
                        }});\r
        }\r
+\r
+       @Override\r
+       protected void onActivityResult(int requestCode, int resultCode, Intent data) {\r
+               super.onActivityResult(requestCode, resultCode, data);\r
+               \r
+               if (resultCode == RESULT_OK){\r
+\r
+               }\r
+               else {\r
+                       if (position >= 0){\r
+                               Train item = list.get(position);\r
+                               item.setSelected(false);\r
+                       }\r
+               }\r
+               listView.invalidateViews();\r
+       }\r
 }\r