次のコードでエラーが発生します。私は理由を理解できませんが、adapter.notifyDataSetChanged();
は動作しません。エラーのメッセージは次のとおりです: "シンボル 'アダプタ'を解決できません。シンボル 'adapter'を解決できません
final String URL = "http://example....";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
rv = (RecyclerView) findViewById(R.id.rv);
....
public class PrintA extends AsyncTask<String, String, List<Model>> {
....
@Override
protected void onPostExecute(final List<MyModel> result) {
super.onPostExecute(result);
if (result != null) {
MyAdapter adapter = new MyAdapter(result);
rv.setAdapter(adapter);
} else {
Toast.makeText(getApplicationContext(), "no internet",
}
}
}
new PrintA().execute(URL);
rv.addOnScrollListener(new RecyclerView.OnScrollListener() {
....
public class PrintB extends AsyncTask<String, String, List<Model>> {
....
@Override
protected void onPostExecute(final List<MyModel> result) {
super.onPostExecute(result);
if (result != null) {
....
adapter.notifyDataSetChanged();
} else {
Toast.makeText(getApplicationContext(), "can't add",
}
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
....
new PrintB().execute(URL);
}
}
}
}
のようなグローバル
でこれを宣言彼は他の人がこのウェブサイトで尋ねられたシンボルエラーを見つけることができません。 – csmckelvey
'adapter'は' PrintA'の 'onPostExecute()'メソッド内のローカル変数です。そのメソッドの外側のどこでも参照することはできません。 – CommonsWare