Android 如何在我的MainActivity中使用ArrayAdapter类和runOnUiThread方法显示ListView?

Android 如何在我的MainActivity中使用ArrayAdapter类和runOnUiThread方法显示ListView?,android,multithreading,listview,android-arrayadapter,runnable,Android,Multithreading,Listview,Android Arrayadapter,Runnable,当我尝试运行我的应用程序时,出现以下错误: java.lang.ClassCastException: com.protogeo.moves.demos.apps.MainActivity$6 cannot be cast to android.content.Context at com.protogeo.moves.demos.apps.StorylineAdapter.<init>(StorylineAdapter.java:28)

当我尝试运行我的应用程序时,出现以下错误:

  java.lang.ClassCastException: com.protogeo.moves.demos.apps.MainActivity$6 cannot be cast to android.content.Context
            at com.protogeo.moves.demos.apps.StorylineAdapter.<init>(StorylineAdapter.java:28)
            at com.protogeo.moves.demos.apps.MainActivity$6.run(MainActivity.java:285)

我的ArrayAdapter代码如下所示:

public class MainActivity extends FragmentActivity implements OnClickListener{
...
    public void updateResponse(final String message) {
        runOnUiThread(new Runnable() {

    @Override
    public void run() {
        //mEditTextResponse.setText(message);
        StorylineAdapter adapter = new StorylineAdapter(this, R.layout.item_storyline, summary);
       // mEditTextResponse.setAdapter(adapter);
        mEditTextResponse.setAdapter(adapter);
 public class StorylineAdapter extends ArrayAdapter<SummaryData>{
    private Context context;
    private ArrayList<SummaryData> summary;

    public StorylineAdapter(Context context, int item_storyline, ArrayList<SummaryData> objects) {
        super( context, item_storyline, objects);
        this.context = context;
        this.runnable = runnable;
        this.summary = objects;

    }



    @Override
    public View getView(int position, View convertView, ViewGroup parent){

        LayoutInflater inflater = ((Activity) context).getLayoutInflater();
        View view = inflater.inflate(R.layout.item_storyline, parent, false);


           summary = summary.get(position);
        TextView tv = (TextView) view.findViewById(R.id.textView1);
        tv.setText(summary.getActivity());

        return view;
    }
}
公共类StorylineAdapter扩展了ArrayAdapter{
私人语境;
私有数组列表摘要;
公共StorylineAdapter(上下文上下文、int项\故事线、ArrayList对象){
超级(上下文、项目、故事情节、对象);
this.context=上下文;
this.runnable=runnable;
this.summary=对象;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
LayoutInflater充气器=((活动)上下文)。getLayoutInflater();
视图=充气机。充气(R.layout.item_故事情节,父级,false);
summary=summary.get(位置);
TextView tv=(TextView)view.findViewById(R.id.textView1);
tv.setText(summary.getActivity());
返回视图;
}
}

传递R.layout.item\u故事情节有什么用,因为我是android新手,所以我找到了一个这样编写代码并运行的示例。你有什么建议可以改进它或让代码正常工作吗?谢谢@user3676184我已经做了你建议的更改,但这只会给我代码中的错误,所以应用程序不再运行。我想知道这些问题是否是由于我的MainActivity扩展了FragmentActivity并实现了OnClickListener造成的,因此更新了上面的MainActivity&ArrayAdapter以反映这一点以及您建议的不起作用的更改。StorylineAdapter=new StorylineAdapter(MainActivity.this,summary);这就够了。只需调试代码。