如何在基本适配器中将文本设置为文本视图?

时间:2015-07-27 11:06:16

标签: android

我是android的初学者,写这个简单的适配器:

public class CustomAdapter extends BaseAdapter{

    public CustomAdapter(MainActivity mainActivity, String[] prgmNameList, String[] prgmImages) {   
        //Do something... and dont write this code
    }
    @Override
        public View getView(final int position, View convertView, ViewGroup parent) {
        //Want write this code>>>>TextView1.SetText("Hello");

    }

}


并使用以下行在主要活动中调用适配器:

 lv=(ListView) findViewById(R.id.myLIST);
                lv.setAdapter(new CustomAdapter(MainActivity.this, prgmNameList,prgmImages));


我想在自定义adepter调用并处理一些东西时,将结果写入主活动文本视图。我可以这样做吗?谢谢。

2 个答案:

答案 0 :(得分:2)

试试这个,这是一种方法,你也可以找到不同的方法。

Activity class

中创建一个函数
public void refreshData(){
    //CODE TO SET TEXT
}

使用上下文从适配器调用该函数。

例如:在Adapter类中,像这样调用。

((MainActivity)context).refreshData();

你也可以使用界面,但是,在这种情况下,不需要使用它,使用context就可以了。

答案 1 :(得分:0)

有一个界面

public interface EventListener
{
   public void onEvent(String result);
}

然后在构造函数

 EventListener eventListener; 
 public CustomAdapter(MainActivity mainActivity, String[] prgmNameList, String[] prgmImages) {   
    //Do something... and dont write this code
    eventListener = (EventListener) mainActivity;
}

getView

 @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
     evenListener.onEvent("Hello");

}

然后在活动

public class YourActivity extends Activity implements EventListener

然后

@Override
public void onEvent(String result)
{
    // do something. set text to textview here
}