2011-12-20 1 views
2

私のアプリケーションでは、コーディング(プログラミング)によって、ビューの追加と削除(ButtonTextviewCheckboxなど)を行いたいと思います。詳細はDynamicはどのようにしてアンドロイドのビューを追加および削除できますか?また、私はアプリケーションを閉じてもストアです

私はワンEditTextとワンButtonを追加しています。ユーザーはEditTextに何でも入力し、追加をButtonと入力します。これはLinearLayoutに追加され、ユーザーがButtonを追加した場合はLinearLayoutに追加されます。

私はこれまで何とかなる。

しかし、ユーザーが2番目のボタンをクリックすると、LinearLayoutは最初に戻るLinearlayoutに戻ります。私はエラーが発生していますここで、私はどこにミスをしたのか分かりません。

また、このすべてをどのように保存できるのかという問題に直面しています。 User Add 5 Buttonのように、アプリケーションを閉じ、アプリケーションに戻るたびに、以前に追加したものが必要です。

ここは私が行ったことです。 http://dynamicandroidview.blogspot.com/2011/12/how-to-add-view-in-android-by-coding.html

+0

はいいえを保存できます。共有の設定で追加されたボタンを追加し、ユーザが後でアプリケーションを使用するたびに取得します –

+0

あなたの再生のために、共有環境設定でどうもありがとうボタンオブジェクトを保存するにはどうすればいいですか?または私はちょうど追加されたボタンの名前を格納することができますか?どのように多くのボタンがユーザによって追加されたLinearlayoutで識別することができますか? –

答えて

0

少なくとも2列のデータベーステーブルを作成すると、idとbuttonTextになります。 ユーザーが追加ボタンをクリックすると、テキストがデータベースに保存され、前に作成されたボタンの下または新しいボタンとして動的にボタンが作成されます。 は、今すぐあなたのonCreateメソッドでテキストのカウントはdatabase.Some事に格納されてthatsの取得次のコードのように:

DB getData = DB.getInstance(); 
getData.open(this); 
ArrayList<TextHolder> getList = new ArrayList<TextHolder>(); 
getList = getData.getAllTextFromGeT(); 
getData.close(); 
x = genList.size(); 

ここでxは、すでにdatabase.Nowあなたに格納されている要素の数/カウント数になります別のintが私に言うことができ、このforループでiとxを使うと、動的にボタンを作成できます。

TextHolder firstOne = getList.get(i); 
String text = firstOne.getText(); 

ます。またobjects.LikeにDBの要素を変換するために、getterとsetterメソッドを持つクラスが必要になります。作成されているすべてのボタンのテキストを取得するには、次のような何かを行うことができますループ内 上記のコードでgetText()は、データベースから要素を取得してここに返すgetterメソッドです。 ここにテキストがボタンのテキストになります。 毎回アプリケーションを起動するたびに、アプリケーションを実行したときに作成したすべてのボタンが表示され、その場所に新しく追加されたボタンが表示され、後で取得できるようにデータベースにも保存されます。 ボタンのテキストを保存して、ボタンを作成するのに役立つ一意のIDを割り当てていることを覚えておいてください。

関連する問題