2017-11-27 18 views
-2

何をすべきか分かりませんが、StringBufferから値を1つずつ取得する際に問題があります。私は、任意の提案は、事前に大歓迎と感謝されたコード:)文字列バッファからデータを取得する方法StringBufferより下で定義した各文字列で値を1つずつ取得する方法

String n=""; 
       String f=""; 
       String ma=""; 
       String s1=""; 
       String s2=""; 
       String mc=""; 
       String fc=""; 
       String bc=""; 
       String pc=""; 
       String oc=""; 
       String ad=""; 
       String s=""; 
       String d=""; 
       String e=""; 
       Cursor m= a.getData(userName); 
       StringBuffer sb= new StringBuffer(); 
       if(m!=null&&m.getCount()>0) 
       {while (m.moveToNext()) 
       { 

    //Here I am passing the stringbuffer values to ultimate string field// 


     n= String.valueOf(sb.append(m.getString(m.getColumnIndex("Name"))));    

    f= String.valueOf(sb.append(m.getString(m.getColumnIndex("Fathername")))); 
        ma=String.valueOf(sb.append(m.getString(m.getColumnIndex("Mothername")))); 

    s1= String.valueOf(sb.append(m.getString(m.getColumnIndex("Selfcontact1")))); 

    s2= String.valueOf(sb.append(m.getString(m.getColumnIndex("Selfcontact2")))); 

     mc= String.valueOf(sb.append(m.getString(m.getColumnIndex("Mothercontact")))); 

     fc= String.valueOf(sb.append(m.getString(m.getColumnIndex("Fathercontact")))); 

    bc= String.valueOf(sb.append(m.getString(m.getColumnIndex("Brothercontact")))); 

    pc= String.valueOf(sb.append(m.getString(m.getColumnIndex("Policecontact")))); 

    oc= String.valueOf(sb.append(m.getString(m.getColumnIndex("Othercontact")))); 

    ad= String.valueOf(sb.append(m.getString(m.getColumnIndex("Address")))); 

    s= String.valueOf(sb.append(m.getString(m.getColumnIndex("Sex")))); 

     d= String.valueOf(sb.append(m.getString(m.getColumnIndex("Dob")))); 

     e= String.valueOf(sb.append(m.getString(m.getColumnIndex("Email")))); 
       } 


//HEre I am getting the values // 


      nametext.setText(n.toString()); 
     fnametext.setText(f.toString()); 
        mnametext.setText(ma.toString()); 
      scontact1text.setText(s1.toString()); 
        scontact2text.setText(s2.toString()); 
        mcontacttext.setText(mc.toString()); 
        fcontacttext.setText(fc.toString()); 
        bcontacttext.setText(bc.toString()); 
        pcontacttext.setText(pc.toString()); 
        ocontacttext.setText(oc.toString()); 
        addtext.setText(ad.toString()); 
        sextext.setText(s.toString()); 
        dobtext.setText(d.toString()); 
        emailtext.setText(e.toString()); 
       } 
+2

StringBufferは、新しい文字列に指定されたすべての文字列を追加します。あなたは、Stringのコレクションを使用する必要があります。マップの可能性が高いので、各Stringで適切なキーを保持できます。 – Victor

+0

あなたは一例を挙げることができます –

+0

下記の答えを見てください – Victor

答えて

0

としては、StringBufferのは、文字列をcontatenatingかつ効率的な方法で新しいものを作成するためにある、コメントしています。

インストールされたStringコレクションの一部を使用します。マップを使用した例:

// Create the map first 
Map<String,String> map = new HashMap<>(); 

// When getting the values 
map.put("Selfcontact2",m.getString(m.getColumnIndex("Selfcontact2"))); 

// When recovering the values 
fcontacttext.setText(map.get("Selfcontact2")); 
関連する問題