我为一个活动提供了两个XML布局。在主布局文件中,我定义了一个列表视图,这个列表视图项的外观是由第二个布局定义的。
以下是具有列表视图的主要布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
tools:context=".MainActivity" >
<ListView
android:id="@+id/mylistView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
tools:listitem="@android:layout/simple_list_item_1"
android:divider="@android:drawable/divider_horizontal_bright" >
</ListView>
</RelativeLayout>
这是第二个布局文件,它定义了列表项的外观:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="10dp"
android:gravity="center_vertical"
tools:context=".MainActivity" >
<TextView
android:id="@+id/list_textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="20dp"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:gravity="center_vertical" />
<ImageView
android:id="@+id/list_imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="20dp"
android:layout_marginTop="22dp"
android:layout_marginBottom="20dp" />
</RelativeLayout>
在MainActivity中,我将主布局设置为内容视图。现在我想访问第二个布局项,如文本视图和图像视图,但使用LayoutInflater不是一个选项;因为我已经尝试了它并且它不起作用或者我不知道如何编写正确的语法。我如何通过他们的ID或其他东西访问这些项目?感谢。
答案 0 :(得分:0)
参考本教程,我认为它有你想要的东西。 Android Custom Adapter for ListView
答案 1 :(得分:0)
如果要根据内容自定义文本视图和图像视图,则应实现自定义适配器
按照简单的教程,确保您的问题得到解决。
如果没有,请在何时以及为何要访问它时提供更多信息
修改强>
这取决于您要访问它的位置。例如,如果您在项目单击方法中,则可以访问此视图
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
if (viewItemAnterior != null)
{
Button boton = (Button)v.findViewById(R.id.list_boton);
}
}