簡體   English   中英

Android Java:putExtra和getStringExtra

[英]Android java: putExtra and getStringExtra

(DatePickerActivity)>>選擇注釋類型(SelectTypeActivity)>>寫入txt文件(WriteNoteActivity) 這是過程 但是我必須將意圖SelectTypeActivity.class更改為WriteNoteActivity.class,這樣才能成功,如何無需跳過SelectTypeActivity也能夠做到的呢? =)

DatePickerActivity =創建文件夾

 public void onClick(DialogInterface dialog, int which) { 

                          Environment.getExternalStorageDirectory();
                             String dateN = edit_date.getText().toString();


                             edit_date.setTypeface(edit_date.getTypeface(), Typeface.BOLD_ITALIC);
                                File folder = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/CalendarNote/" + dateN);
                                boolean success = true;
                                    if (!folder.exists()) {
                                        success = folder.mkdirs();


                                    }
                                    if (success) {
                                            Toast.makeText(getBaseContext(), "You have successfully created." , Toast.LENGTH_LONG ).show();
                                            Intent w = new Intent(DatePickerActivity.this, WriteNoteActivity.class);
                                            w.putExtra("the_date", dateN);
                                            startActivity(w);


                                    } else {
                                        Toast.makeText(getBaseContext(), "You have Failed to create." , Toast.LENGTH_LONG ).show();
                                    }

                        }
                     })

WriteNoteActivity =創建txt文件

        public void onClick(DialogInterface dialog, int which) { 
             String content = edit_content.getText().toString();
             String title = edit_title.getText().toString();
             //String dateN = edit_date.getText().toString();


             boolean success = true;
                 try {
                    String dateN = getIntent().getStringExtra("the_date");
                    File sdCardDir = Environment.getExternalStorageDirectory();  
                    File targetFile;

                    targetFile = new File(sdCardDir.getCanonicalPath()  
                            + "/CalendarNote/" + dateN );


                    // File file=new File(folderPath + "/"+title+".txt");
                    File file=new File(targetFile + "/"+title+".txt");

                    if(!targetFile.exists()){
                        success = targetFile.mkdir();  
                    }
                    RandomAccessFile raf = new RandomAccessFile(file, "rw");  
                    raf.seek(file.length());  

                    raf.write(content.getBytes());  
                    raf.close();  
                } catch (IOException e) {
                    e.printStackTrace();
                } 
                 if (success) {
                    Toast.makeText(getBaseContext(), "You have successfully created." , Toast.LENGTH_LONG ).show();



            } else {
                Toast.makeText(getBaseContext(), "You have Failed to create." , Toast.LENGTH_LONG ).show();
            }
                    //Toast.makeText(getBaseContext(), "Note have successfully saved." , Toast.LENGTH_LONG ).show();
                }
             })

任何不跳過SelectTypeActivity的建議? 也能夠從DatePickerActivity獲取StringExtra

我將把SelectTypeActivity更改為對話框,如果此活動的唯一目的是顯示不同類型的筆記,則可以像這樣以編程方式在對話框上進行對話框(而不是轉到SelectTypeActivity活動):

Dialog dialog = new Dialog(this);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select Color Mode");

ListView modeList = new ListView(this);
String[] stringArray = new String[] { "Bright Mode", "Normal Mode" };
ArrayAdapter<String> modeAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, stringArray);
modeList.setAdapter(modeAdapter);

builder.setView(modeList);
dialog = builder.create();

然后使用.setPositiveButton處理onclick按鈕

在此處查看更多詳細信息: 如何通過代碼在AlertDialog上單擊“確定”?

顯然,您必須使用注釋類型填充modeList

希望我能幫到你:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM