看板 AndroidDev 關於我們 聯絡資訊
因為用講解的方式有點難理解我的問題,所以小弟放上一些code,更容易讓人瞭解好了 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ContactTimer = new Timer(); ContactsetTimerTask(); delBtn = (Button) findViewById(R.id.delBtn); delBtn.setOnClickListener(del); Intent intent2=new Intent(); intent2.setClass(MainActivity.this,fileread.class); startActivityForResult(intent2, ReadAllData); } private OnClickListener del = new OnClickListener(){ public void onClick(View v) { if (ContactTimer != null) { ContactTimer.cancel(); ContactTimer = null; } else { ContactTimer = new Timer(); ContactsetTimerTask(); } // 一樣利用AlertDialog 讓使用者輸入 + 多選功能 for(int i=0;i<names.length;i++)isChecked[i]=false; Builder DelAlertDialog = new AlertDialog.Builder(MainActivity.this); DelAlertDialog.setTitle("Del").setMultiChoiceItems( names, isChecked, onChoice) .setPositiveButton("Delete", showSelectedResult) .setNegativeButton("Discard", null).show(); } private OnMultiChoiceClickListener onChoice = new OnMultiChoiceClickListener(){ ............ } DialogInterface.OnClickListener showSelectedResult = new DialogInterface.OnClickListener(){ ............ } private void ContactsetTimerTask() { ContactTimer.schedule(new TimerTask() { @Override public void run() { Message message = new Message(); message.what = 1; ContactTimerHandler.sendMessage(message); } }, 1000, 1000); } private Handler ContactTimerHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); int msgId = msg.what; switch (msgId) { case 1: Intent intent=new Intent(); intent.setClass(MainActivity.this,fileread.class); startActivityForResult(intent, ReadAllData); break; default: break; } } }; public void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case ReadAllData: names= data.getExtras().getString("SDstr").split("\n"); isChecked = new boolean[names.length]; break; } } 希望放上code,能更快的解決問題,謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.0.248.229 ※ 編輯: fake01 來自: 123.0.248.229 (05/21 00:40) ※ 編輯: fake01 來自: 123.0.248.229 (05/21 00:44)
lovelycateye:ContactTimer.schedule(task, 1000, 1000) 改成 05/21 10:29
lovelycateye:ContactTimer.schedule(task, 1000) 有人猜對了 05/21 10:29
lovelycateye:程式只會照你所寫的跑,一秒閃一次啊XD 05/21 10:30
lovelycateye:BTW,你寫java的習慣好差= = 05/21 10:30
fake01:原來是我搞不清楚 (task,1000,1000) 和 (task ,1000) 05/21 12:43
fake01:的差異 05/21 12:43
fake01:l大可以給我一些 習慣的建議嗎,讓人看懂程式碼 05/21 12:44
fake01:也是很重要的功夫 05/21 12:44
lovelycateye:http://ppt.cc/meuv 自己找找java code convention 05/21 14:21
fake01:感謝 會很有幫助 05/21 16:32
gpc:我猜對了嗎XD 05/22 02:40
fake01:但是若改成L大所講,會造成我若有新增刪除Dialog內容 05/22 10:50
fake01:再次打開Dialog 會無法及時顯示資料 05/22 10:50
fake01:需要等個幾秒才能正常顯示,就好像handler 沒有一秒執行一次 05/22 10:51
fake01:handler我是用來呼叫其他.activity回傳值 05/22 10:52
lovelycateye:你要不要考慮另外開一篇問啊?你架構應該很有問題 05/22 11:50
fake01:目前想到用別種方式處理,如還有問題會在開一篇 佔空間 XD 05/22 12:00