在其他布局android中将text设置为textview

时间:2015-08-12 19:13:59

标签: android android-layout listview android-listview

这是我需要做的非常罕见的事情,但我想知道是否可能。

我在自定义适配器的帮助下列在ListView个项目中。到目前为止一切都那么好,但我现在需要编辑另一个包含ListView的布局中的文本。

布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F2F2F2"
android:gravity="top"
android:orientation="vertical" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Disponibles"
    android:layout_marginTop="15dp"
    android:gravity="center"
    android:textColor="#000000"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
    android:id="@+id/txtDisponibles"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/textView1"
    android:textSize="40dp"
    android:gravity="center"
    android:text="" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_marginTop="28dp"
    android:background="@drawable/titulo_lista"
    android:text="Inscripciones"
    android:paddingBottom="5dp"
    android:paddingTop="5dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textColor="#FFFFFF" />

<ListView
    android:id="@+id/listView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/EditText01"
    android:cacheColorHint="#00000000" 
    android:textColor="#000000"
    android:textSize="15sp" />

</LinearLayout>

格式列表视图

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<TextView
    android:id="@+id/txtNombre"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginTop="10dp"
    android:paddingLeft="10dp"
    android:text="TextView" />

<TextView
    android:id="@+id/txtTicket"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtNombre"
    android:paddingLeft="10dp"
    android:text="TextView" />

<TextView
    android:id="@+id/txtOrden"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtTicket"
    android:paddingLeft="10dp"
    android:text="" />

<TextView
    android:id="@+id/txtAsiento"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtOrden"
    android:paddingLeft="10dp"
    android:visibility="gone"
    android:text="" />

 <TextView
    android:id="@+id/txtNumero"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtAsiento"
    android:paddingLeft="10dp"
    android:visibility="gone"
    android:text="" />

<Button
    android:id="@+id/button1"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/txtOrden"
    android:layout_alignParentRight="true"
    android:layout_marginRight="23dp"
    android:background="@drawable/btn_green_small"
    android:maxHeight="48dp"
    android:maxWidth="80dp"
    android:shadowColor="#A8A8A8"
    android:text="Validar"
    android:textColor="#FFFFFF" />

<TextView
    android:id="@+id/txtMensaje"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/button1"
    android:text="SDSDSDS"
    android:layout_marginRight="18dp"
    android:visibility="gone"
    android:textSize="10dp" />

 </RelativeLayout>

当您点击ListView需要更改布局容器Button的值时,Button中的每个项目都有一个txtDisponible

holder.btn.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                     TextView t=(TextView)layout.findViewById(R.id.txtDisponible);
                     t.setText("E-ticket validado");
                }
}

我得到的错误是对象是null

2 个答案:

答案 0 :(得分:1)

你的问题根本不奇怪:

holder.btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Activity activity = (Activity)getContext();
        TextView t = (TextView)activity.findViewById(R.id.txtDisponible);
        t.setText("E-ticket validado");
    }
}

答案 1 :(得分:-2)

你将一个上下文传递给适配器,所以只需在你的MainActivity中创建一个方法,并从适配器调用它((MainActivity)mContext).methodToEffectTextView();