0
私はリストビューをSQLテーブルから作成しました。私は彼らが正常に動作しているので、私は新しいレコードとクエリ関数を追加共有されていません。手順: Android listview with SQL skips _文字
- ユーザーが新しいのEditTextのレコード作成easy_rider
- 一覧(
newlist_listname.replaceAll(" ","_");
を使用して)は、新しいレコードが移入されていますイージーライダー(ここで_マークがありますか? ?) - 新しいテーブルも作成されます。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が取得されるからです。
あなたはそうだった、スペースはほとんどこのフォントタイプでは見えません。 – erdomester