从另一个类Android Studio访问变量

时间:2016-02-13 18:46:11

标签: java android android-studio

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

public ArrayList<String> arrayList;
public ArrayAdapter<String> adapter;
public EditText txtInput;

我希望能够在不同的类中访问这些变量。我已经尝试过这样的做法,但是我在lst.txtInput lst.arrayList lst.adapter Variable 'lst' is accessed from within inner class, needs to be declared 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(); ; } }); 时出现了一个错误的错误。任何人都对如何在另一个类中访问变量有任何想法。

./testfork.c: line 6: syntax error near unexpected token `('
./testfork.c: line 6: `int main(int argc, char *argv[])'

1 个答案:

答案 0 :(得分:0)

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

final ListDeadlines lst= new ListDeadlines();

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