2011-10-24 8 views
3

現在、すべてのビューで変数を動的に変更する必要があるアンドロイドビューあたり約10個の変数を格納するアプリケーションがあります。どのように効率的な方法でこれらの変数を格納する最良の方法は、今のところ私は変数を変更するために約200回の変数があり、それぞれが4回のように呼ばれているので、少ないコードになります。したがって、このようなAndroidビュー(ボタン、テキストビューなど)の変数の保存

:より多くのコードとヘルプOOD保存のArrayListを使用して

String buttonName = "blah";

buttonName = newValue;

でしょうか?また、ほとんどのビューにはint、float、&の文字列変数が割り当てられています。さまざまな値が必要な複数のビューで動作する可能性のあるコードを保存するには、良い方法が必要です。何か案は?どんな助けでも大歓迎です!ありがとう!

答えて

2

...

//constructor 
public class MyButton extends Button{ 
    public String someVariable; 
    public Button(Context c){ 
     super(c); 
    } 

} 

は、あなたのコードに次のような、それを使用することになり...

MyButton b = new MyButton(this); 
b.someVariable = "foofy"; 
+0

これにより、複数のボタン表示を変更することができますか? 一度にすべてのビューを表示するのではなく、ビューごとに異なる変数を保存する ボタンの表示ごとに新しいクラスが必要ですか? –

+0

私は何をしているのかについて100%明確ではないので、あなたの質問に答えるのは難しいです。しかし、あなたの拡張されたクラスは、あなたがそれを与えるのに適した数のメンバーを持つことができます。もちろん、あなたはこのオブジェクトの多くのインスタンスをあなたが望むように作成することができます。他にどのような意見がありますか?イメージ? TextView?一見したところでは、あなたが「あまり正しくない」ことをしているという感覚を得るが、あなたの比較的漠然とした記述を考えて言うのは難しいと言わなければならない。 –

+0

私は漠然としたことをお詫びします。そのアプリを説明するのは難しいです。基本的にレイアウトにランダムなアンドロイドのビューを追加し、ユーザーが外出先で動的にビューを変更できるようにします。これはアンドロイドの視野の大部分に及ぶ。 –

0

これらの変数を変更して、新しい値をUIに表示する必要がありますか?その場合は、単にUIの表示値を設定する方法があります。 onCreateまたはonResumeの間にこれを呼び出すことができます。その後、いくつかの値が変更されたときにいつでも呼び出すことができます。また、カスタムViewでencapsulateを使用して、invalidateを呼び出して再描画することもできます。私はあなたが使用しているものは何でもビュー拡張し、あなたの拡張クラスで追加の変数を格納します

+0

はい私は必然的に問題です。私は失礼したり、感謝していないように見えたくありません。私は主なアクティビティクラスファイルから変数を移動する方法を探していて、ビューまたは何かのデータ構造にそれらを格納する方法を見つけるかもしれません。 1つのファイルにすべてを持つのではなく、時間とコードを節約するもの。私はちょっと謝るようにそれを表現するのが難しい。 –

+0

これらの変数が実際に何であるかを知ることは役に立ちます。あなたが保管しているものの例と、このデータをどのように使用するのかを説明できますか? –

1

私はあなたが何を意味するかを完全に理解しているとは確信していません。しかし、私はそれを行かせます。

私があなただったら、それに含まれるすべての変数を含む「ホルダー」クラスを作成したいと思います。その後、そのクラスのObjectをインスタンス化して値を移入すると、view.setTag(Object);メソッドを使用して、特定のビューに値を「アタッチ」することができます。それらを取得する必要があるときはいつでも、(YourHolderClass)view.getTag();でホルダーオブジェクトへの参照を見つけることができます。getTagは普通のオブジェクトを返しますので、キャストする必要があります。タグオブジェクトは、このビューであなたは常にそれを取得することができますので、それが周りにある全体の時間を固執する

編集:View.setTag() javadocの変数は私ではないレイアウトの更新を持って変更されているビューに一度

関連する問題