0

私の最初のアクティビティには、各セルにテキストビューを含むリストビューが含まれており、カスタム アダプターを使用しています。したがって、いずれかの項目をクリックすると、テキストフィールドを含むフォーム アクティビティが開きます。ユーザーは詳細を入力でき、フォームの保存ボタンを押すと、詳細がリストビューに表示されます。今、リストに項目を動的に追加しようとしています。クリックすると新しいインスタンス アイテムが追加されるボタンを作成して、より多くのユーザーが同じ方法で登録できるようにしました。これらの機能を実装することができました。ただし、私の問題は、新しく追加されたアイテムをクリックしてフォームアクティビティに移動し、[保存] をクリックすると、リストビューアクティビティに戻った後に新しく追加されたエントリが表示されないことです。表示されるのは最初のエントリだけです1人。そのため、アクティビティを終了するとすぐに破棄されると推測しています。

ListView アクティビティの私のコードは次のとおりです。

public class FormTableActivity extends Activity {

    private PassengerListAdapter adapter;
    Button add_passenger;
    String mrzdata,ic_data,name_data;
    SharedPreferences nPref;

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.final_display_listview);

        nPref = PreferenceManager.getDefaultSharedPreferences(this);


        mrzdata = nPref.getString("MRZ", "");
        name_data = nPref.getString("resultData", "");

        ic_data = nPref.getString("icdata", "");

        final ListView lv1 = (ListView) findViewById(R.id.custom_list);

        adapter = new PassengerListAdapter(this);
        adapter.add(new CustomerDetails(ic_data, name_data, mrzdata));

        add_passenger = (Button) findViewById(R.id.add_user);
        add_passenger.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

//                mrzdata = "";
//                name_data = "";
//                ic_data = "";
                adapter.add(new CustomerDetails(ic_data, name_data, mrzdata));


            }
        });


        lv1.setAdapter(adapter);

        lv1.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> a, View v, int position, long id) {


                Intent intent = new Intent(v.getContext(), FirstActivity.class);
                startActivity(intent);


            }


        });
    }
4

2 に答える 2

0

これらの新しく追加されたアイテムを SQLite データベースなどのどこかに保存し、作成時にそれらを取得してリストビューに入力する必要があります

必要に応じてここで確認できます。コードにはコメントが付けられています。ここでは、フィードの名前と URL の 2 つの項目を持つカスタム アダプターのリストビューがあります。

テキスト入力ダイアログ (2 つの編集テキスト付き) を使用して URL と名前を追加し、DB に保存し、作成時にそれらを取得してリストビューに入力し ます https://github.com/enricocid/iven-feed-reader/blob/master- as/project/app/src/main/java/com/iven/lfflfeedreader/mainact/ListActivity.java

于 2015-12-15T07:55:37.023 に答える