Android 安卓:为什么我无法解决适配器问题?

Android 安卓:为什么我无法解决适配器问题?,android,android-arrayadapter,Android,Android Arrayadapter,我是android编程的新手。请任何人解释一下为什么我的代码中强调的部分没有解决“适配器”问题。我的程序父Activity首先向arraylist添加一些数据,该arraylist转换为字符串数组,并使用listview显示。点击一个按钮,它会启动一个辅助活动,返回一个字符串,该字符串被添加到arraylist中,新数据应该在显示屏上更新。每当我放置“adapter.notifyDataSetChanged();”时,我会收到一条消息“adapter”未解析。有人能解释为什么或者我能做些什么来解

我是android编程的新手。请任何人解释一下为什么我的代码中强调的部分没有解决“适配器”问题。我的程序父Activity首先向arraylist添加一些数据,该arraylist转换为字符串数组,并使用listview显示。点击一个按钮,它会启动一个辅助活动,返回一个字符串,该字符串被添加到arraylist中,新数据应该在显示屏上更新。每当我放置“adapter.notifyDataSetChanged();”时,我会收到一条消息“adapter”未解析。有人能解释为什么或者我能做些什么来解析它吗?参见代码 多谢各位

import java.util.ArrayList;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;

public class ShitActivity extends Activity {

ArrayList<String> arrlist=new ArrayList<String>();
private static final int REQUEST_CODE=1;


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    ListView list=(ListView)findViewById(R.id.list);


   arrlist.add("android");
   arrlist.add("android");
   arrlist.add("iphone");
   arrlist.add("android");
   arrlist.add("Blackberry");
   arrlist.add("webos");
setButtonClickListener();
   String[] arr=arrlist.toArray(new String[arrlist.size()]);
    ArrayAdapter<String> adapter=new ArrayAdapter<String>     (this,R.layout.list_item,R.id.test1,arr);

    list.setAdapter(adapter);


}

private void setButtonClickListener(){
    Button Read1=(Button)findViewById(R.id.Read1);
Read1.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Intent i = new Intent (ShitActivity.this,Deliverstring.class);
        startActivityForResult(i,REQUEST_CODE);
    }
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
    if(resultCode==RESULT_OK && requestCode==REQUEST_CODE){
    String in1=data.getStringExtra("datareturn");
    arrlist.add(in1);
    ***adapter.notifyDataSetChanged();***
}
}}  
import java.util.ArrayList;
导入android.app.Activity;
导入android.content.Intent;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.ListView;
公共课堂活动拓展活动{
ArrayList arrlist=新的ArrayList();
私有静态最终整数请求_代码=1;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ListView列表=(ListView)findViewById(R.id.list);
添加(“安卓”);
添加(“安卓”);
添加(“iphone”);
添加(“安卓”);
添加(“黑莓”);
arrlist.add(“webos”);
setButtonClickListener();
字符串[]arr=arrlist.toArray(新字符串[arrlist.size()]);
ArrayAdapter=新的ArrayAdapter(此,R.layout.list_项,R.id.test1,arr);
list.setAdapter(适配器);
}
私有void setButtonClickListener(){
按钮Read1=(按钮)findViewById(R.id.Read1);
Read1.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
意图i=新意图(ShitActivity.this,Deliverstring.class);
startActivityForResult(i,请求代码);
}
});
}
@凌驾
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
if(resultCode==RESULT\u OK&&requestCode==REQUEST\u CODE){
字符串in1=data.getStringExtra(“datareturn”);
添加(in1);
***adapter.notifyDataSetChanged()***
}
}}  

您正在onCreate中声明适配器。将其置于函数之外,以便可以在其他地方使用

private ArrayAdapter<String> adapter;
 adapter=new ArrayAdapter<String>     (this,R.layout.list_item,R.id.test1,arr);