gpt4 book ai didi

java - 从另一个类 Android Studio 访问变量

转载 作者:行者123 更新时间:2023-12-02 06:22:04 25 4
gpt4 key购买 nike

我是 Android 开发新手,我想知道如何做到这一点。我有一个名为 ListDeadlines 的类,其中包含诸如

之类的变量
public ArrayList<String> arrayList;
public ArrayAdapter<String> adapter;
public EditText txtInput;

我希望能够在不同的类中访问这些变量。我已经尝试过这样的操作,但是我的 lst.txtInput lst.arrayList lst.adapter 上出现以下错误:变量“lst”是从内部类中访问的,需要声明Final。任何人都对如何访问另一个类中的变量有任何想法。

    ListDeadlines lst= new ListDeadlines();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

lst.txtInput=(EditText)findViewById(R.id.txtinput);
Button btAdd=(Button)findViewById(R.id.btnAdd);
btAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String newItem = lst.txtInput.getText().toString();
lst.arrayList.add(newItem);
lst.adapter.notifyDataSetChanged();
;
}
});

最佳答案

您在这里尝试做的是从与 lst 相同作用域的匿名内部类中访问变量 lst。匿名内部类是您的new View.OnClickListener。在 Java 中执行此操作的规则要求将 lst 声明为 final,以便内部类可以确定 lst 在最终执行时不会改变。所以,你可以这样声明你的 lst:

final ListDeadlines lst= new ListDeadlines();

或者您可以使 lst 成为包含当前定义它的方法的封闭类的成员。

关于java - 从另一个类 Android Studio 访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35383889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com