这是我正在膨胀的项目:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="@drawable/background_border"
android:padding="10dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Account name"
android:textSize="25sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Balance: £61.43"
android:textSize="25sp"
android:paddingTop="40dp"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_keyboard_arrow_right_black_24dp"
android:layout_alignParentEnd="true"
android:layout_centerInParent="true"/>
</RelativeLayout>
我正在使用以下代码对其进行充气:
LinearLayout parent = (LinearLayout) findViewById(R.id.linearL);
view = getLayoutInflater().inflate(R.layout.menu_item, parent,false);
parent.addView(view);
如果我三次夸大以下项目,创建三个菜单项 - 我将如何单独引用每个项目?
例如,如果我想在菜单的第一项中更改帐户名称的文本,我将如何在菜单的第一项而不是第二项或第三项中引用它?
答案 0 :(得分:3)
如果我三次充气以下项目,请创建三个菜单 项目 - 我将如何单独引用每个项目?
使用parent.getChildCount()
和parent.getChildAt()
访问来自任何R.layout.menu_item
布局的视图,例如:
多次添加布局:
//First time
parent.addView(view);
//Second time
parent.addView(view);
首先添加R.layout.menu_item
布局视图:
View firstView=parent.getChildAt(0);
以同样的方式获取parent
布局的其他子视图。
使用以下方式从firstView
访问子视图:
如果在xml中添加了查看ID:
TextView textView=(TextView)firstView.findViewById(R.id.textViewID);
或使用getChildAt方法:
TextView textView=(TextView)firstView.getChildAt(0);
以相同方式访问其他视图。
答案 1 :(得分:0)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="@drawable/background_border"
android:padding="10dp"
>
<TextView
android:id="@+id/account_name_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Account name"
android:textSize="25sp"/>
<TextView
android:id="@+id/balance_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Balance: £61.43"
android:textSize="25sp"
android:paddingTop="40dp"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_keyboard_arrow_right_black_24dp"
android:layout_alignParentEnd="true"
android:layout_centerInParent="true"/>
</RelativeLayout>
在代码中你会有一些像
这样的东西TextView textview = (TextView)relativeLayoutFromXml.findById(R.id.balance_text_view);
textview.setText("sadsasa ");
如果您的布局位于活动xml内,则应该访问textview,如下所示:
TextView textview = (TextView) findViewById(R.id.balance_text_view);
textview.setText("sadsasa ");