Я пытаюсь отойти от просмотра списка с одним из моих действий, которые имеют TextView и Edittext рядом друг с другом. Редактирование текста в просмотре списка доставляло мне много хлопот. Я пытаюсь сделать мой вид прокрутки похожим на просмотр списка, но без проблем с утилизацией. Я установил макет, чтобы начать (не на 100%, как я хочу, чтобы он выглядел), но теперь я хочу заполнить мое текстовое представление данными, извлеченными из базы данных, и я бью стену здесь. Вот что у меня пока ...
public class inputpage extends Activity {
public static int editCount = 10; //needs to be dynamic based on how many items the cursor pulls but using 10 till I have more code in place
public LinearLayout editlayout;
static Map<Integer, String> inputValues = new LinkedHashMap<Integer, String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.inputlayout);
editlayout=(LinearLayout) this.findViewById(R.id.editlayout);
buildRow();
}
public void buildRow(){
LayoutParams textparam = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
LayoutParams editparam = new LayoutParams(350, LayoutParams.WRAP_CONTENT);
textparam.setMargins(2, 2, 2, 2);
for (int i = 0; i < editCount; i++){
//textview
TextView tv=new TextView(this);
tv.setLayoutParams(textparam);
tv.setText("test");
tv.setTextSize(35);
tv.setTextColor(getResources().getColor(R.color.black));
this.editlayout.addView(tv);
//edittext
EditText edit = new EditText(this);
edit.setLayoutParams(editparam);
this.editlayout.addView(edit);
edit.setId(editCount);
edit.addTextChangedListener(new TextWatcher(){
public void afterTextChanged(Editable editable) {
Log.e(String.valueOf(editCount), "Position in array");
inputValues.put(editCount, editable.toString());
Log.e(editable.toString(), "added to array");
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
}
});
}}
}
Код, который я использовал раньше, это ....
public class editpage extends ListActivity {
private dbadapter mydbhelper;
private PopupWindow pw;
public static SimpleCursorAdapter editadapter;
public static ArrayList<String> editTextList = new ArrayList<String>();
private ArrayList<EditText> m_edit = new ArrayList<EditText>();
public static Map<Integer,String> myList=new LinkedHashMap<Integer,String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.edit_list);
m_edit.clear();
mydbhelper = new dbadapter(this);
mydbhelper.open();
fillData();
}
}
//size of adapter and arrays
public static int getCount(){
return editadapter.getCount();
}
public void fillData() {
Cursor e = mydbhelper.getUserWord();
startManagingCursor(e);
String[] from = new String[] {dbadapter.KEY_USERWORD,};
int[] to = new int[] {R.id.textType,};
editadapter = new SimpleCursorAdapter(this, R.layout.edit_row, e, from, to);
ListView list = getListView();
View footer = getLayoutInflater().inflate(R.layout.footer_layout, list, false);
list.addFooterView(footer);
setListAdapter(editadapter);}
}
Я не смог найти хороших ресурсов о том, как это сделать, поэтому я надеюсь, что кто-то здесь знает ссылку или какой-то фиктивный код, который я мог бы создать.