2016-07-07 33 views
0

我對android/java很新穎。 我有windows CEC#功能齊全的功能,所以它在C#做的是當用戶用條形碼閱讀器掃描cardnumber時將文本放入TextBox;那麼tooked,例如,3張照片與文本KD55TextBox,然後用類似下面的名稱保存圖片:如何從編輯文本中將第一個字母替換爲自動編號

1.0D55 
    2.1D55 
    3.2D55 and so on 

,然後他需要一個新的Y61那麼它西港島線是這樣的

1.0Y61 
    2.1Y61 
    3.2Y61 and so on 

我希望有人可以幫助我走出這個或翻譯成Java/Android的

btn_take_photo.setOnClickListener(new FloatingActionButton.OnClickListener() { 
       @Override 
       public void onClick(View view) {    
       cameraimage(); 
       } 
      });   
       jpegCallback = new Camera.PictureCallback() { 
       @Override 
       public void onPictureTaken(byte[] bytes, Camera camera) { 
        FileOutputStream outputStream = null; 
           return; 
        } 

String text = cardnumberbox.getText().toString().trim(); 
       for(int i = 0; i < 100; i++) 
       { 
        if(text.substring(0,1).equals("K")) 
        { 
         text = (i+1) + "." + i + text.substring(1); 
        } 
        else 
        { 
         text=(i+1) + "." + i + text ;//.substring(0)); 
        } 
       } 
       String photofile = text + ".jpg"; 


       String file_name = file_image.getAbsolutePath() + "/" + photofile; 
        File picfile = new File(file_name); 
        try { 
         outputStream = new FileOutputStream(picfile); 
         outputStream.write(bytes); 
         outputStream.close(); 
        } catch (FileNotFoundException e) { 
        } catch (IOException ex) { 
        } finally { 

        } 
     refreshcamera(); 
        refreshgallery(picfile); 
    private void refreshgallery(File file) { 
    Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); 
    intent.setData(Uri.fromFile(file)); 
    sendBroadcast(intent); 
} 

我是如何做的在C#

string str1 = this.textBoxCardNumber.Text.Substring(0, 1) == "K" ? this.textBoxCardNumber.Text.Substring(1) : this.textBoxCardNumber.Text; 
    string str2 = (string) (object) Directory.GetFiles(this.picturesPath, "*" + str1 + ".JPG").Length + (object) str1; 
      this.takenPictures.Add(this.picturesPath + str2 + ".JPG"); 
      this.Cam.SnapshotFile.Filename = str2; 
+0

要刪除第1字符? –

+0

耶出一個自動編號奇蹟,如果它可能與計數,而不是?由於java不支持通配符 –

+0

這種類型的預期輸出,你可以使用正常的循環 –

回答

1

解決它通過使用點擊計數器,幫助從Sathish所在

private int counter = 0; 
btn_take_photo.setOnClickListener(new FloatingActionButton.OnClickListener() { 
      @Override 
      public void onClick(View view) {     
       counter++; 
       count.setText(String.valueOf(counter)); 
       cameraimage(); 
      } 
     }); 
      @Override 
      public void onPictureTaken(byte[] bytes, Camera camera) { 
       String Counting = count.getText().toString().trim(); 
       String text = cardnumberbox.getText().toString().trim(); 
       { 
        if(text.substring(0,1).startsWith("K")) 
        { 
         text = Counting+text.substring(1); 
        } 
        else 
        { 
         text= Counting+text ;//.substring(0)); 
        } 
       } 

       String photofile =text + ".jpg"; 
1

試試這種方法。我假設3張照片(根據你的問題)。所以我把3放在for loop

import java.io.*; 

class StackOvr 
{ 
    public static void main(String jsk[]) 
    { 
     String str = "KD55"; 

     for(int i = 0; i < 3; i++) 
     { 
      if(str.substring(0,1).equals("K")) 
      { 
       System.out.println((i+1) + "." + i + str.substring(1)); 
      } 
      else 
      { 
       System.out.println((i+1) + "." + i + str);//.substring(0)); 
      } 
     } 
    } 
} 

這是我自己測試的代碼。

輸出

1.0D55 
2.1D55 
3.2D55 

這可能幫助你。

+0

只會適用於卡D55?或全部cardnumbers因爲我們有牌,從A-Z 01-99999 –

+0

您可能需要延長你的病情根據自己的需要去 –

+0

反正是有其他的方式做字符串str =「KD55」;所以你可以用'cardnumberbox.getText()的toString()修剪();'而不是 –

相關問題