代码之家  ›  专栏  ›  技术社区  ›  Nezir

列表视图我不能在r.id.list中引用?

  •  3
  • Nezir  · 技术社区  · 15 年前
      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>
    
    4 回复  |  直到 15 年前
        1
  •  5
  •   dangVarmit    11 年前

    使用android是很好的,只要把你的代码改成

    findviewbyid(android.r.id.list)

    你就完了

        2
  •  1
  •   Jorgesys    15 年前

    改变

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

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

    将活动扩展为listactivity

    public class myActivity extends ListActivity {
    

    然后重写onListEmclick函数。

    @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();    
    }
    
        3
  •  1
  •   Community CDub    8 年前
    <ListView android:id="@+id/android:list" >
    

    做它

    请在这里查找答案中的详细信息

    What is difference between @+id/android:list and @+id/list

        4
  •  -1
  •   bporter    15 年前

    应该是这样的:

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

    通常,如果视图id没有出现在资源类中(例如 R.id.???? ),这表明XML布局有问题。

    我正在使用下面的代码,它对我有效。我是 使用ListActivity。相反,我在标准活动中放置了一个listview控件。我正在使用自定义适配器,但您可以使用标准适配器 ArrayAdapter 如果你需要的话。

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