Как я могу использовать переменные linearLayout и params из защищенного void onCreate во втором защищенном void finishButton? Мне нужно добавить finishButton в linearLayout. Вот мой код:Как добавить кнопку программно в LinearLayout в android
public class MainActivity extends AppCompatActivity {
public static int score = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ScrollView scrollView = (ScrollView) findViewById(R.id.scrollView);
final LinearLayout linearLayout = new LinearLayout(this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
linearLayout.setLayoutParams(params);
linearLayout.setOrientation(linearLayout.VERTICAL);
linearLayout.setPadding(0, 110, 0, 0);
scrollView.addView(linearLayout);
TextView iq_Test_Title = new TextView(this);
iq_Test_Title.setText("Text");
iq_Test_Title.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20);
iq_Test_Title.setGravity(Gravity.CENTER);
iq_Test_Title.setTextColor(Color.RED);
linearLayout.addView(iq_Test_Title);
finishButton();
// other code
}
protected void finishButton() {
final Button finishButton = new Button(this);
finishButton.setText(R.string.finish_button);
finishButton.setLayoutParams(params);
linearLayout.addView(finishButton);
finishButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finishButton.setEnabled(false);
}
});
}
}
Спасибо!
сначала добавьте текст в свой макет после этого, добавьте свой макет в прокрутку. возможно, это было бы полезно. и также имейте в виду, что scrollview не может содержать более одного ребенка. –
Обработать LinearLayout как группу просмотра ** «Группа групп просмотра = (ViewGroup) linearLayout;» ** и затем попытаться добавить кнопку в качестве вида. – ozgur
Проблема si не в том, что я не могу добавить кнопку, я не могу увидеть linearLayout во второй частной пустоте, чтобы добавить ее, потому что linearLayout объявлен в первом. Как я могу использовать linearLayout во втором? –