私はいくつかの画面があり、ユーザーが1回または2回クリックするだけの場所で作業するアプリで作業しています。 XMLでこれらの画面をすべて作成する必要はありません。だから、私は一時的に画面(フラグメント)を作成することができ、ユーザーがそれとやりとりするとただ破棄して次の画面を表示するソリューションを探しています。今のところ私はアクティビティにボタンを置くことしかできません。フラグメントをクリックすると開きます。しかし、私はそこにこだわっています。フラグメントをJavaコードからのみ作成する
これは、私はそれを行う、どのように行うために私のコード
RelativeLayout relativeLayout = findViewById(R.id.rootView);
relativeLayout.setBackgroundColor(Color.parseColor("#dddddd"));
relativeLayout.setPadding(16,16,16,16);
Button button = new Button(getApplicationContext());
button.setText("Launch Activity");
button.setAllCaps(false);
button.setBackgroundColor(Color.parseColor("#dddddd"));
button.setTextColor(Color.parseColor("#222222"));
button.setPadding(4,4,4,4);
button.setVisibility(View.VISIBLE);
button.setLayoutParams(new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT
));
relativeLayout.addView(button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Toast.makeText(MainActivity.this, "I am clicked", Toast.LENGTH_SHORT).show();
Fragment fragment = new Fragment();
RelativeLayout relativeLayout1 = new RelativeLayout(getApplicationContext());
TextView textView = new TextView(getApplicationContext());
textView.setText("This a new activity");
textView.setTextSize(14.2f);
textView.setTextColor(Color.parseColor("#222222"));
textView.setAllCaps(false);
relativeLayout1.addView(textView);
}
});
のですか?それとも可能ですか?
これは意味がありますが、私はここに従うことができません。どのようにそれが可能になるかを精緻に説明できますか? – walimbeakshay