3

这是我对我的应用程序的要求。
1. 我需要在列表视图中显示项目列表,每个项目都有一个文本框和一个按钮。
2.每次运行应用程序时,项目的数量都不同。
3.单击按钮时,我需要阅读文本框内容并需要执行一些任务。
4.我在Adapter的“getView”中创建了动态文本框和按钮。

问题
1. 问题是在我在列表项的文本框中输入数据并关闭软键盘后,列表项的所有文本框都会重新创建,并且我丢失了我输入的数据。
2. 除了获取视图功能,还有其他方法可以创建动态文本框吗?
下面是我的代码片段

public class ImageAdaspter extends BaseAdapter {
    private Context mContextL;

    public ImageAdaspter(Context contextP) {
        mContextL = contextP;
    }

    public int getCount() {
        return lis.GetLength();
    }

    public Object getItem(int PositionP) {
        return PositionP;
    }

    public long getItemId(int PositionP) {
        return PositionP;
    }

    public View getView(int PositionP, View ConvertViewP, ViewGroup ParentP) {

        RelativeLayout TheRelativelayoutL = new RelativeLayout(getApplicationContext());

        TextView textview1 = new TextView(mContextL);
        textview1.setText("HI");
        textview1.setSingleLine(true);
        textview1.setId(2);

        EditText textBox1 = new EditText(mContextL);
        textBox1.setEms(3);
        textBox1.setId(4);

        Button btn1 = new Button(mContextL);
        btn1.setText("Process");
        btn1.setTextSize(10);
        btn1.setBackgroundColor(Color.parseColor("#FFFFFF"));
        btn1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // Do stuff
                Toast.makeText(getApplicationContext(), "Sample Message", Toast.LENGTH_SHORT).show();
            }
        });

        TheRelativelayoutL.addView(textview1);
        TheRelativelayoutL.addView(textBox1);
        TheRelativelayoutL.addView(btn1);
        return TheRelativelayoutL;
    }
}
4

0 回答 0