0
良い日、配列ビューア内のテキストビューアイテムの状態を配列アダプタから表示しようとしています。私は正常にリストビューの項目を保存することができますが、私はそれを表示することはできませんが、リストビューが再び設定されています。ArrayAdapterからリストビューの取り消し線テキストの状態を表示します。
onitemclick:
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String mytext = ((TextView)view).getText().toString();
TextView text = (TextView)view.findViewById(android.R.id.text1);
text.setText(mytext);
text.setPaintFlags(text.getPaintFlags()| Paint.STRIKE_THRU_TEXT_FLAG);
crossed_text.add(text.getText().toString()); // this is an Arraylist to store striked texts
}
と移入リストビュー:?私は戻ってリストビューを移入状態を経て、このストライクを取得するにはどうすればよい
// i tried this
dialog = new Dialog(this);
LayoutInflater my_inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View checklistView = my_inflater.inflate(R.layout.check_list,null, false);
dialog.setContentView(checklistView);
dialog.setCancelable(true);
ListView list = (ListView)dialog.findViewById(R.id.listview_id);
TextView text = (TextView)list.findViewById(android.R.id.text1);
list.setOnItemClickListener(this);
list.setOnItemLongClickListener(this);
my_CheckList_Adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data);
for(int i = 0; i < my_CheckList_Adapter.getCount(); i++){
TextView childtext = (TextView)list.getChildAt(i); // getting null value here
//childtext = (TextView)my_CheckList_Adapter.getItem(i).toString();
if(crossed_text.contains(childtext.getText().toString())){
childtext.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
}
}
list.setAdapter(my_CheckList_Adapter);
..おかげ
応答に感謝します。この行の子テキストのnull値を取得しています。TextView childtext =(TextView)list.getChildAt(i);何か案は? – irobotxxx
list.setAdapter(my_CheckList_Adapter); forループの前に設定してください。 –
ArrayAdapter http://sirinsevinc.wordpress.com/2010/05/11/109/を使用する方法や、このサイトのアダプターについての情報がたくさんあります。 –