2016-07-23 115 views
0

我很难搞清楚如何在一个自定义类中引用一个视图的ID。目标是创建一个可以更改按钮内文本的类,并将textView的可见性从更改为可见。代码可以独立运行,但我不想重复一遍所有正在创建的下拉部分。在课堂中引用一个视图的ID(在课堂上如何给我们R.id.name)

在下面的代码,在我的主类启动时,当这是连接到一个onclick听众

我如何引用,否则这将是R.id.btn1和R.id.text1所以什么也没发生我可以使用这个作为一个类?

import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 

public class toggleSection { 
    private Button button; 
    private TextView textView; 
    private boolean isOpen = false; 

    public toggleSection(Button button, TextView textView) { 
     this.button = button; 
     this.textView = textView; 
    } 

    public void toggleSection(Button button, TextView textView, String title) { 
     if (!isOpen) { 
      button.setText(title + " ►"); 
      textView.setVisibility(View.VISIBLE); 
      isOpen = true; 
     } else { 
      button.setText(title + " ▼"); 
      textView.setVisibility(View.GONE); 
      isOpen = false; 
     } 
    } 
} 

感谢

+0

原来我没有在下面的方法中声明变量类型。这就是为什么当你累了时你不会编码。编辑的问题 – BR89

回答

0

在你toggleSection(),你是你的buttontextview再次提供参考和使用只有那些引用。但是,您应该在这里使用实例变量,您必须在构造函数中初始化它们。