Я не думаю, что вы можете установить любой другой вид внутри представления. check description, я думаю, только ViewGroup и макеты как LinearLayout
, RelativeLayout
который простирается ViewGroup
может только добавить другие представления с помощью addView(View view)
,
например, следующим образом
Вы можете создать свой файл макета XML и поместить пользовательский вид в Это.
пример XML-файл, содержащий пользовательский вид
<?xml version="1.0" encoding="utf-8"?>
<com.example.package.MyView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
код Java А затем раздуть его в представлении.
// Inflate your xml view using layout inflater.
LayoutInflater inflater = getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View myView = (MyView) inflater.inflate(R.layout.example, null);
// now create a container class or map any of it from main_activity.xml layout.
LinearLayout linear = new LinearLayout(this);
/* LinearLayout linear = (LinearLayout) findViewById(R.layout.myLayout); */
// if you have created it programatically, set its width and height as following
linear.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, // width
ViewGroup.LayoutParams.MATCH_PARENT)); // height
// else mention it in layout xml file.
linear.removeAllViews(); // clear layout before setting new one.
linear.addView(myView); // set custom view inside layout.
Теперь вы можете назначить манипулирование своим myView. если вы все еще хотите добавить кнопку. Создайте кнопку в файле xml и надуйте или создайте программно и добавьте ее в linear.addView(View view);