[英]set text to textview in other layout android
It's a very rare thing that I need to do, but I wanted to see if it was possible. 这是我需要做的非常罕见的事情,但是我想看看是否有可能。
I am listing in a ListView
items with the help of a custom adapter. 我在自定义适配器的帮助下列出了
ListView
项目。 So far so good, but what I need now edit the text in another layout which contains my ListView
. 到目前为止,一切都很好,但是我现在需要在另一个包含
ListView
布局中编辑文本。
Layout 布局
<?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>
Format listview 格式化列表视图
<?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>
Each item in my ListView
has a Button
when you click on that Button
need to change the value of txtDisponible
the layout container. 在我的每个项目
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");
}
}
The error I get is that the object is null
. 我得到的错误是该对象为
null
。
Your question is not odd at all: 您的问题一点也不奇怪:
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");
}
}
您将上下文传递给适配器,因此只需在您的MainActivity中创建一个方法,然后从适配器调用它,例如((MainActivity)mContext).methodToEffectTextView();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.