버튼 클릭시 기존 xml 레이아웃에 요소를 동적으로 추가하려고합니다. 사용자가 버튼을 클릭 한 횟수에 따라 많은 항목이 기존 XML에 추가되어야합니다. 나는 레이아웃 inflater를 사용하는 것이 좋은 기술이라고 생각하지만, 그것을 할 수는 없다. 어떤 도움이라도 대단히 감사하겠습니다.버튼 클릭시 xml에 동적 요소 추가 android
감사합니다. 여기 내 코드입니다 :
main.xml에 :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/main_layout_id">
</LinearLayout>
layout_item.xml :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/layout_item_id">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
자바 파일 :
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final LinearLayout mainLayout = (LinearLayout)findViewById(R.id.main_layout_id);
View view = getLayoutInflater().inflate(R.layout.layout_item, mainLayout,false);
mainLayout.addView(view);
Button b=(Button) findViewById(R.id.button1);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Context c=getApplicationContext();
TextView tvv=new TextView(c);
tvv.setText("textview");
mainLayout.addView(tvv);
}
});
}
당신은 오류를 지정하거나 로그 캣에서 스택 트레이스를 게시해야합니다. 앱이 다운되고 앱에 대해 언급하지 않았습니다. – Raghunandan
죄송합니다. 오류는 응용 프로그램이 실행되고 단추가있는보기가 표시된다는 것입니다. 그러나 버튼을 클릭하면 아무 반응이 없습니다. – userstack