使用時,選擇一個ListView我有這樣的代碼:如何使用R 3與ListActivity
public class MyActivity extends ListActivity implements OnClickListener {
private ArrayList<String> listItems = new ArrayList<String>();
ArrayAdapter<String> adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setAdapter();
this.bindButtons();
}
private void setAdapter() {
setContentView(R.layout.siteactivity);
adapter=new ArrayAdapter<String>(this,
R.layout.siteitem,
listItems);
setListAdapter(adapter);
}
private void bindButtons() {
findViewById(R.id.buttonPrevious).setOnClickListener(this);
findViewById(R.id.buttonNext).setOnClickListener(this);
}
// ...
}
用這個佈局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" android:id="@+id/siteActivity">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/navigation">
<Button
android:text="<="
android:textSize="12dp"
android:id="@+id/buttonPrevious"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>
<Button
android:text="=>"
android:textSize="12dp"
android:id="@+id/buttonNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>
</LinearLayout>
<ListView
android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/navigation"
android:layout_above="@+id/transport_selection"
/>
</RelativeLayout>
注意ListView控件的android:id="@android:id/list"
。如果我將它替換爲android:id="@+id/list"
,我的活動就會關閉,因爲我的「內容必須有一個ListView,其id屬性是'android.R.id.list'」,但我認爲這是預期的行爲。
現在,我想添加一個上下文菜單到ListView的項目。我嘗試了registerForContextMenu(findViewById(R.id.list));
,但它不起作用,因爲android:id
。
然後,我該如何添加一個上下文菜單?
問候,
你試過android.R.id.list?你的R.java中有'list'嗎? –