2016-04-28 2 views
0

Android Studio 2.0(API 23)でポーリング/投票アプリケーションを開発中です。Androidスタジオに空白を入れずに、チェックボックスのチェックボックスの結果を1つのアクティビティに表示するにはどうすればよいですか?

シナリオ:

私は特定のフィールドが選択されていることを示すために、その下のチェックボックスでフィールド(関心領域)を示し活性を有する(ここではフィールドはスポーツ、エンターテイメント、教育と技術です)。 。ユーザーをチェックボックスで選択した活動/活動に確認、保存、リダイレクトするためのボタン。

問題:

同時に表示するさまざまな活動(それは混乱だ)で、ユーザが「確認」されたものをすべて表示することができない(あるいは、それがあります)。 または、テキストフィールド(空である)を持つ異なるアクティビティでフォーマットを作成することは可能です。ユーザがチェックボックスをオンにして、実行時に空白にsetText()関数を使用すると表示されますテキストフィールド。 これは、ユーザが表示されている順番でチェックボックスを選択した場合にのみ機能し、ユーザが第1および第3フィールドを選択した場合、実行時に第2フィールドは空白領域になります(ここでのスクロール表示は明白です) 。

適切な解決方法をご提供ください。 ありがとうございます。

+0

適切な解決策を得る確率をどのように高めるか? - ステップ1:明示的に求めないでください。ステップ2:尋ねる前に(適切なコードを追加することで理想的に)調査を行ったことを示してください。[ヘルプセンター](http://stackoverflow.com/help)で質問する方法について詳しくは – 0X0nosugar

+0

@ 0X0nosugar念頭に置いて。これは私の最初のポストだったし、私もちょっと混乱していた。 –

+0

@Siddarth Raj - 混乱している - まあ、私も。あなたが私に少し不幸と思ったら、あなたが正しいと認めます。私にとって、あなたがどれくらい知っているのか、どこに詰まっているのかははっきりしていませんでした。人々が(まだ)働いていないが、次のいくつかのステップを示すために拡大/ 。回答と幸せコーディングのおかげで: – 0X0nosugar

答えて

2

質問は少し混乱しますが、わかっている限り、あなたはこの方法で行くことができます。

共有設定を作成します。次のようにチェックボックス上のユーザーのクリックが送信ボタンをクリックした後、あなたが望む値を格納しますしてみましょう:

public class UserPreference { 


SharedPreferences pref; 

// Editor for Shared preferences 
SharedPreferences.Editor editor; 

// Context 
Context _context; 

// Shared pref mode 
int PRIVATE_MODE = 0; 

// Sharedpref file name 
private static final String PREF_NAME = "user_preference"; 

public static final String isSportsCheck = "isSportsChecked"; 
public static final String isTechnologyCheck = "isTechnologyChecked"; 

public UserPreference(Context context){ 
    this._context = context; 
    pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE); 
    editor = pref.edit(); 
} 

public void createWork(boolean sports, boolean tech){ 
    editor.putBoolean(isSportsCheck, sports); 
    editor.putBoolean(isTechnologyCheck, tech); 
    editor.commit(); 
} 

public HashMap<String, String> getWorkDetails(){ 
    HashMap<String, String> user = new HashMap<String, String>(); 
    user.put(isSportsCheck, pref.getBoolean(isSportsCheck, false)); 
    user.put(isTechnologyCheck, pref.getBoolean(isTechnologyCheck, false)); 

    return user; 
} 

今すぐあなたの別のアクティビティにmatch_parentとして、高さと幅でリニアレイアウト、その後、親にScrollViewを置きます。そして、技術、スポーツなどのさまざまな分野に属する異なるレイアウト。 Javaクラスで次に

@Override 
public void onResume(){ 
super.onResume(); 
HashMap<String, String> user = userPreference.getWorkDetails(); 
    boolean sports = user.get(userPreference.isSportsCheck); 
    boolean tech = user.get(userPreference.isTechnologyCheck); 

    if(sports){ 
      sports_layout.setVisibility(View.VISIBLE); 
      load_sports_data(); 
     .......... 

あなたは簡単にこのモデルのアプローチと負荷データを取ることができます。 しかし、レイアウトをタブし、次にユーザー選択に基づいてOnResumeメソッドのセットアップタブでも行うことができます。次に、各タブでリサイクルビューを使用します。

+0

ソリューションありがとうございます。私は完全に "共有プリファレンス"の概念を実装することを忘れていました。異なるレイアウトを追加することも可能ですが、私はスクロール表示を試みます。 –

+0

@SiddharthRaj質問が明確ではないので混乱しているようですが(あなたが新しいものであることを完全に理解しています)、コメントはもっと混乱しているようです。スクロール・ビューを追加するというだけで正確に意味します。明らかに、スクロールビューを追加する必要があります。 ScrollViewは子レイアウトにスクロール動作を与える単なる方法です。それぞれのコンテンツにすべてのレイアウト、相対、線形、または任意のものを追加し、共有嗜好から値を取得することで可視性を設定する必要があります。 –

0

それで、Stringの値をboolean変数に格納し、ステータスをpublic staticにすることができます。また、チェックボックスをオンにすると、インクリメントされるようにカウンタを設定できます。アクティビティBでは、アクティビティにテキストボックスやテキストフィールドを動的に作成し、静的変数で初期化し、チェックされたステータスを確認することができます。

関連する問題