ListView Can't I reference in R.id.list?

  ListView  ls=(ListView)findViewById(**R.id.list**);
    ls.setOnItemClickListener(new OnItemClickListener() {
     public void onItemClick(AdapterView<?> a, View v, int position, long id) {
     AlertDialog.Builder adb=new AlertDialog.Builder(ListAllTracks.this);
     adb.setTitle("LVSelectedItemExample");
    // adb.setMessage("Selected Item is = "+String.valueOf(ls.getItemIdAtPosition(position)));
     adb.setPositiveButton("Ok", null);
     adb.show();

      }
          });

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">
<ListView android:id="@android:id/list"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content">

</ListView>
</LinearLayout>
+3
source share
4 answers

Good use id android. Just change your code to use

findViewById (android.R.id.list)

and with him everything will be done

+5
source

change

<ListView android:id="@android:id/list"

to

<ListView android:id="@+id/android:list" 

expand your activity as ListActivity

public class myActivity extends ListActivity {

then override the onListItemClick function.

@Override
protected void onListItemClick(ListView l, View v, final int position, long id) {
     super.onListItemClick(l, v, position, id);               
     AlertDialog.Builder adb=new AlertDialog.Builder(ListAllTracks.this);
     adb.setTitle("LVSelectedItemExample");
    // adb.setMessage("Selected Item is = "+String.valueOf(ls.getItemIdAtPosition(position)));
     adb.setPositiveButton("Ok", null);
     adb.show();    
}
+1
source
<ListView android:id="@+id/android:list" >

,

@+ id/android: list @+ id/list

+1

:

<ListView android:id="@+id/list" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content"> 

</ListView>

, (, R.id.????), , XML.

I am currently using the following code and it works for me. I am not using ListActivity. Instead, I put the ListView control in standard activity. I use a custom adapter, but you can use the standard ArrayAdapterif you need to.

List<Unit> unitList = ... get my list of stuff ...
ListView unitListView = (ListView)findViewById(R.id.unitListView);
UnitListItemAdapter adapter = new UnitListItemAdapter(this, unitList);  
unitListView.setAdapter(adapter);
-1
source

Source: https://habr.com/ru/post/1760149/


All Articles