2017-09-27 5 views
0

私は、Main_Activityでクラスの生徒の総数(int)を入力し、2回目のアクティビティで多数のボタンが作成されるアンドロイド出席システムを開発しています。実行時にユーザ入力を使用してボタンのリストを作成する(現在または未選択のマークを付けるために使用する)方法を教えてください。実行時にボタンを作成する方法は?

コードは以下のコードでのInt値

EditText total_roll_Name = (EditText) findViewById(R.id.roll_total_input); 
String total_roll_text = total_roll_Name.getText().toString(); 

i.putExtra("totalRoll", total_roll_text); 
+0

代わりにRecyclerViewを使用してください。 – Maddy

答えて

1

このようにボタンを動的に作成することができます。 で作成する

ここでは「num_array_name.length」はボタンの総数です。 onCreate後

linear = (LinearLayout) findViewById(R.id.linear); 
LayoutParams param = new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1.0f); 

Button[] btn = new Button[num_array_name.length]; 
for (int i = 0; i < num_array_name.length; i++) { 
    btn[i] = new Button(getApplicationContext()); 
    btn[i].setText(num_array_name[i].toString()); 
    btn[i].setTextColor(Color.parseColor("#000000")); 
    btn[i].setTextSize(18); 
    btn[i].setHeight(110); 
    btn[i].setLayoutParams(param); 
    btn[i].setPadding(10, 5, 10, 5); 
    linear.addView(btn[i]); 

    btn[i].setOnClickListener(handleOnClick(btn[i])); 

} 

このような戻り値の型View.OnClickListener する1つの方法を作成します。..

View.OnClickListener handleOnClick(final Button button) { 
    return new View.OnClickListener() { 
     public void onClick(View v) { 
     } 
    }; 
} 

あなたを助け答えてしまったと、この答えかもしれ願っています。

1

作成]ボタンの実行時間を節約し、線形レイアウト

Button dButton= new Button(this); 
      myButton.setText("Add Me"); 

      LinearLayout lay= (LinearLayout)findViewById(R.id.buttonlayout); 
      LayoutParams layPar= new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 
      lay.addView(dButton, layPar); 
+0

100回以上繰り返してコードをループするとアプリは安定しますか? –

+0

実行時の追加ビューとの違いは何もありません.Appは安定しています –

0

私は。あなたは、すべての学生を持っている?あなたは出席モジュールを右に必要だと思うに追加しますあなたがチェックリストを使ってカスタムリストビューのデータベースからデータを取得し、現在のまたはnot.iをマークしたり、マークを解除したりすることができます。このタイプのsystem.ifがすでに開発されていれば、私はあなたを送ります。

+0

リンクを送信すると非常に役に立ちます。 –

+0

しかし、まずあなたはあなたが必要なモジュールの種類を説明します。私は別のモジュール –

+0

あなたは出席管理システムのリストビューを持っているチェックボックスであなたが出席したstudent.youを確認することができます正確にこのタイプのモジュールが必要です –

関連する問題