Android 如何获取SimpleAdapter的McClickListener
这是我的变量 我的密码Android 如何获取SimpleAdapter的McClickListener,android,Android,这是我的变量 我的密码 final ListView lv= (ListView)findViewById(R.id.list); String[] from = new String[] {"a", "b","c"}; int[] to = new int[] { R.id.textbutton , R.id.buttonlist, R.id.imgart}; List fillMaps=new ArrayList(); 字符串[]ArrayStr=Func.split(结果字符串“|
final ListView lv= (ListView)findViewById(R.id.list);
String[] from = new String[] {"a", "b","c"};
int[] to = new int[] { R.id.textbutton , R.id.buttonlist, R.id.imgart};
List fillMaps=new ArrayList();
字符串[]ArrayStr=Func.split(结果字符串“|*|”);
对于(int i=0;i
为什么它仍然不能点击?
我的代码怎么了
对不起,我是android中的noob…您的类必须扩展ListActivity并重写
@覆盖
受保护的void onListItemClick(列表视图l、视图v、整数位置、长id){
//做点什么
}
编辑
`公共类ListaFicheros扩展ListActivity{
List<HashMap<String, String>> fillMaps = new ArrayList<HashMap<String, String>>();
String[]ArrayStr = Func.split(resultString, "|*|");
for(int i = 0; i < ArrayStr.length; i++){
String[]AStr = Func.split(ArrayStr[i], "|**|");
HashMap<String, String> map = new HashMap<String, String>();
map.put("a", ArrayStr[i]);
map.put("b", AStr[1]);
fillMaps.add(map);
}
// fill in the grid_item layout
SimpleAdapter adapter = new SimpleAdapter(this, fillMaps, R.layout.list, from, to);
lv.setAdapter(adapter);
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
Toast.LENGTH_SHORT).show();
}
});
@覆盖
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.lista_ficheros);
//....
initLista(auxFile.listFiles());
}
私有void initLista(文件[]archivos){
//....
ArrayaAdapter listaArchivos=新的MarrayaAdapter(这个,R.layout.fila_list_fich,R.id.lista_fich_texto_fila,elemSinExt);
setListAdapter(Listaachivos);
}
@凌驾
受保护的void onListItemClick(列表视图l、视图v、整数位置、长id){
int IDFilaSeleccionada=位置;
意向意向=新意向(ListaFicheros.this,InterfazLector.class);
intent.putExtra(“PATH”,PATH.get(idfilaselecionada));
intent.putExtra(“NOMBRE”,elementos.get(idfilasleccionada));
OK((可控震源)getSystemService(Context.可控震源_服务));
startActivityForResult(意向,ID);
}`
1.您的代码是否缺少ListView lv=(ListView)findViewById(R.id.list)2.如果您的活动是从ListActivity扩展而来,请尝试使用getListView()@sail我的活动仍然扩展活动,所以我不需要gedlistview,我想我的变量也不会丢失。列表显示得很完美,但无法单击…我已将代码更改为自定义适配器,但在自定义适配器中我无法放置静态页眉和页脚..这会使我的布局变得很糟糕..是否有ListView lv=(ListView)findViewById(R.id.list)在活动的onCreate()中?[code]public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.marketing);ListView lv=(ListView)findViewById(R.id.list);[/code]这是我拥有的:)单击后,您是否收到任何异常/错误?@aracem在您的代码中变为错误…出现奇怪的错误,如“此行有多个标记-标记上的语法错误”),;预期-标记上的语法错误“(”,;预期-void是变量onListItemClick的无效类型-标记上的语法错误“,”,;expected-Syntax error on token“,”,;expected-Syntax error on token“,”;expected
您确定您的类扩展了ListActivity吗?在这种情况下,为确保这一点,请右键单击->源->重写/实现方法,然后选择O onListItemClick。不要复制/粘贴。我给您留了一段代码(西班牙语,希望您不会有问题)。是的,我确定,唯一的列表项单击子菜单ListActivity:)那么我现在必须做什么?查看我的第一篇文章的编辑(up)。这是我的一个程序的示例。(ListView,一开始,总是有问题:天哪,我变得很困惑,我需要时间来更改并尝试您的代码…顺便说一句tq 4 your help@aracem明天我将告诉您结果
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lista_ficheros);
//....
initLista(auxFile.listFiles());
}
private void initLista(File[]archivos){
//....
ArrayAdapter<String> listaArchivos= new mArrayAdapter(this,R.layout.fila_list_fich,R.id.lista_fich_texto_fila, elemSinExt);
setListAdapter(listaArchivos);
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
int IDFilaSeleccionada = position;
Intent intent = new Intent(ListaFicheros.this,InterfazLector.class);
intent.putExtra("PATH", paths.get(IDFilaSeleccionada));
intent.putExtra("NOMBRE", elementos.get(IDFilaSeleccionada));
DoVibration.OK((Vibrator) getSystemService(Context.VIBRATOR_SERVICE));
startActivityForResult(intent, ID);
}`