Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 自定义布局与其他布局交互TextView_Java_Android_Xml - Fatal编程技术网

Java 自定义布局与其他布局交互TextView

Java 自定义布局与其他布局交互TextView,java,android,xml,Java,Android,Xml,我有一个如下所示的自定义布局,我想从该布局文件中更新文本视图文本。但是TextView根本不在布局文件中 抱歉,我不知道如何正确描述我正在实现的内容。如果有人能就正确的术语提出建议,我们将不胜感激 基本上,我想在点击com.grogorian.android.control.MinutePicker中的按钮时,将TextView从AM更改为PM。我在com.grogorian.android.control.MinutePicker中使用下面的java,但不断得到一个空指针 <Linear

我有一个如下所示的自定义布局,我想从该布局文件中更新文本视图文本。但是TextView根本不在布局文件中

抱歉,我不知道如何正确描述我正在实现的内容。如果有人能就正确的术语提出建议,我们将不胜感激

基本上,我想在点击com.grogorian.android.control.MinutePicker中的按钮时,将TextView从AM更改为PM。我在com.grogorian.android.control.MinutePicker中使用下面的java,但不断得到一个空指针

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/L"
   android:orientation="horizontal"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:gravity="center_vertical|center_horizontal">  
<com.grogorian.android.control.MinutePicker
        android:id="@+id/Picker2"
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    </com.grogorian.android.control.MinutePicker>
    <TextView android:id="@+id/AMPMIdentifier" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="AM" />
编辑:这是来自的代码

    but = new Button( context );
    but.setTextSize( TEXT_SIZE );
    but.setText( "-" );

    // Decrement once for a click
    but.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
LinearLayout L = (LinearLayout)findViewById(R.id.L);
    TextView Identifier = (TextView)L.findViewById(R.id.AMPMIdentifier);
    Identifier.setText("PM");
        }
    });
            this.setLayoutParams( new LinearLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT ) );
    LayoutParams elementParams = new LinearLayout.LayoutParams( ELEMENT_WIDTH, ELEMENT_HEIGHT );

        addView( but, elementParams );

如果我猜的话,现在您正试图在
OnCLickListener
侦听器中找到您发布的布局文件中的
LinearLayout
L(您可能将其用作
活动的布局)。这将失败,因为找不到
LinearLayout
,并且对象将为
null
。如果这是您正在做的事情,请尝试另一种方法:

but.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
      LinearLayout parent = (LinearLayout) v.getParent(); // I assumed your MinutePicker extends LinearLayout
      LinearLayout L = (LinearLayout) parent.getParent();
      TextView Identifier = (TextView)L.findViewById(R.id.AMPMIdentifier);
      Identifier.setText("PM");
    }
});

我还没有测试上面的代码(我甚至不知道你的
MinutePicker
是如何构建的)。如果这不是问题,您可能需要添加可能获得的完整异常堆栈跟踪。

信息不足。向全班展示你设置布局的地方以及com.grogorian.android.control.MinutePicker。。。这将给某人一个战斗的机会来帮助你。添加了请求的代码。谢谢,我在任何地方都没有看到
setContentView
。。。
but.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
      LinearLayout parent = (LinearLayout) v.getParent(); // I assumed your MinutePicker extends LinearLayout
      LinearLayout L = (LinearLayout) parent.getParent();
      TextView Identifier = (TextView)L.findViewById(R.id.AMPMIdentifier);
      Identifier.setText("PM");
    }
});