use*_*779 3 java methods android textview
我在onCreate中有这个:
final TextView text1 = (TextView) findViewById(R.id.txtNextAlarm);
Run Code Online (Sandbox Code Playgroud)
我正在尝试在同一个类中的方法中设置文本:
public static void NextTxt(){
text1.setText("");
}
Run Code Online (Sandbox Code Playgroud)
但它不承认"text1".
小智 6
问题是静态方法不与任何特定对象相关联,而是与整个类相关联.因此,他们只能在您的班级中看到静态字段.text1如果你说的是真的,你的变量就不是那个.相反,它是一个仅存在于onCreate()方法长度的局部变量.如果你知道你只有一个你的活动实例(这可能不是一个不合理的假设),你可以做的是使用
private static TextView text1;
Run Code Online (Sandbox Code Playgroud)
在你的班级的顶部(或者,基本上,在方法之外的任何地方).该final修改并没有买任何东西.您选择是公开还是私人,但我默认倾向于私人(除非有其他原因).
另一种方法是问自己为什么NextTxt()是静态的; 如果你使它成为一个普通的实例方法,那么你仍然需要text1在类中声明,但它不需要是静态的.但是你需要一个实例来调用它.
| 归档时间: |
|
| 查看次数: |
11419 次 |
| 最近记录: |