2012-03-03 8 views
0

私はリストビューをSQLテーブルから作成しました。私は彼らが正常に動作しているので、私は新しいレコードとクエリ関数を追加共有されていません。手順: Android listview with SQL skips _文字

  • 表が作成されたイージーライダー:

    1. ユーザーが新しいのEditTextのレコード作成easy_rider
    2. 一覧(newlist_listname.replaceAll(" ","_");を使用して)は、新しいレコードが移入されていますイージーライダー(ここで_マークがありますか? ?)
    3. 新しいテーブルも作成されます。easy_rider(はい、これはまだ良いです)

    私はカーソルにSQLの結果を取得し、その後のArrayListへ:

     c = info.getAllTitles(); 
          if (c.moveToFirst()) 
          { 
          do{ 
           todoItems.add(c.getString(0) + " " + c.getString(1) + " " + c.getString(2) + " " + c.getString(3) + " " + c.getString(4) + " " + c.getString(5)); 
           todoItemsID.add(c.getString(0)); 
           todoItemsNAME.add(c.getString(1)); 
           todoItemsPRIORITY.add(c.getString(2)); 
           todoItemsFINISHED.add(c.getString(3)); 
           todoItemsNOTES.add(c.getString(4)); 
           todoItemsHIDDEN.add(c.getString(5)); 
           }while (c.moveToNext()); 
          } 
    
    if (todoItemsNAME.size() >= 0) 
          { 
           for (int i=0; i<todoItemsNAME.size(); i++) 
           { 
            Log.d("todoItemsNAME(" + i + ")", todoItemsNAME.get(i) + ""); //easy_rider 
           } 
          } 
    

    人口:

     if (todoItems.size() >= 0) 
         { 
          for (int i=0; i<todoItems.size(); i++) 
          { 
           Log.d("TODOItems(" + i + ")", todoItems.get(i) + ""); //27 easy_rider Low 1 1 
           each=new EachRow(); 
           each.text= todoItemsNAME.get(i); 
           Log.d("each.text", each.text); //easy_rider 
           list.add(each); 
          } 
          listView.setAdapter(new MyAdapter(this, 1, list)); 
         } 
    

    すべてがここで良いようです。リスト内を除いて、どこでもeasy_riderが得られます。どうして? 新しいレコードとしてeasy_riderを入力したときと同じ結果になります。私はリストにeasyriderを見る。

    全体コードのベースはパンカジにhereおかげである:ここ

    public class CustomList extends Activity implements OnClickListener 
    { 
    
        ListView listView; 
        ArrayList<EachRow> list=new ArrayList<CustomList.EachRow>(); 
        EachRow each; 
        @Override 
        protected void onCreate(Bundle savedInstanceState) 
        { 
         // TODO Auto-generated method stub 
         super.onCreate(savedInstanceState); 
         setContentView(R.layout.main); 
         String[] color={"red","green","blue","white","yellow","cyan","purple","grey", 
           "0red","0green","0blue","0white","0yellow","0cyan","0purple","0grey", 
           "1red","1green","1blue","1white","1yellow","1cyan","1purple","1grey"}; 
         for(String str : color) 
         { 
          each=new EachRow(); 
          each.text=str; 
          list.add(each); 
         } 
         listView=(ListView)findViewById(R.id.listView1); 
         listView.setAdapter(new MyAdapter(this, 0, list)); 
         //listView.setOnItemClickListener(this); 
        } 
        class MyAdapter extends ArrayAdapter<EachRow> 
        { 
         LayoutInflater inflat; 
         ViewHolder holder; 
         public MyAdapter(Context context, int textViewResourceId, 
           ArrayList<EachRow> objects) 
         { 
          super(context, textViewResourceId, objects); 
          // TODO Auto-generated constructor stub 
          inflat=LayoutInflater.from(context); 
         } 
         @Override 
         public View getView(int position, View convertView, ViewGroup parent) { 
          // TODO Auto-generated method stub 
    
          if(convertView==null) 
          { 
           convertView=inflat.inflate(R.layout.row_checkox, null); 
           holder=new ViewHolder(); 
           holder.textView=(TextView)convertView.findViewById(R.id.textView1); 
           holder.image=(ImageView)convertView.findViewById(R.id.imageView1); 
           holder.check=(CheckBox)convertView.findViewById(R.id.checkBox1); 
           holder.check.setOnClickListener(CustomList.this); 
           convertView.setTag(holder); 
          } 
          holder=(ViewHolder) convertView.getTag(); 
          EachRow row= getItem(position); 
          Log.d("size", row.text); 
          holder.textView.setText(row.text); 
          holder.check.setChecked(row.checkBool); 
          holder.check.setTag(position); 
          return convertView; 
         } 
    
         @Override 
         public EachRow getItem(int position) { 
          // TODO Auto-generated method stub 
          return list.get(position); 
         } 
    
         private class ViewHolder 
         { 
          TextView textView; 
          ImageView image; 
          CheckBox check; 
         } 
        } 
        private class EachRow 
        { 
         String text; 
         boolean checkBool; 
        } 
    
    
    
        @Override 
        public void onClick(View v) 
        { 
         // TODO Auto-generated method stub 
    
         EachRow row=list.get((Integer)v.getTag()); 
         row.checkBool=!row.checkBool; 
         Log.d("item", "Item Click at "+(Integer)v.getTag()+" : "+row.text+" is "+row.checkBool); 
        } 
    
    } 
    

    Iは、GRのEENまたは0bl_ueを追加すると、リストビューは、GRのEENと0bl_ueを示しています。だから問題は私のコードにあります。これは、リストまたはリストビューでなければなりません。なぜなら、行をクリックすると、ログ内でeasy_riderが取得されるからです。

  • 答えて

    0

    フォントの種類を確認してください。アンダースコアが表示されないことがあります。いくつかのフォントタイプは難しいです:)

    +0

    あなたはそうだった、スペースはほとんどこのフォントタイプでは見えません。 – erdomester