我是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调用并处理一些东西时,将结果写入主活动文本视图。我可以这样做吗?谢谢。
答案 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
}