Android uygulamalarında geliştirmeme devam ettim ve şimdi bir liste görünümünde bir tuşla etkinleştirilen yeni bir etkinlik ekledim.Yeni etkinlik - Yeni menü
sorun
Benim yeni etkinlik benim ana faaliyetinden menüyü gösterir. Bu oldukça beklenmedik. Soru şu, bunu nasıl çözebilirim?
benim ana aktivitede bugüne kadar
ne yaptın, ben böyle ilave edildiği bir menü (menu.xml) yarattık: beklendiği gibi
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.refresh:
new DownloadXmlTask().execute();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Bu çalışır.
Şimdi böyle bir hareketlenme başlar://lv is (ofc) my listview
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
EntryObject obj = entries.get(position);
Bundle bundle = new Bundle();
bundle.putString("title", obj.title);
bundle.putString("teaser", obj.teaser);
bundle.putString("description", obj.description);
bundle.putString("date", obj.date);
bundle.putString("key", obj.key);
bundle.putString("mp4", obj.mp4);
Intent myIntent = new Intent();
myIntent.setClassName("dk.jyskebank.programserie.tolvsytten", "dk.jyskebank.programserie.tolvsytten.DetailedActivity");
myIntent.putExtras(bundle);
startActivity(myIntent);
}
});
etkinlik Yanımda Bundle nesneden bilgilerimi ve yeni aktivitede yeni bir menü (detail_menu.xml) ihtiyaç başlar.
@Override
public boolean onCreateOptionsMenu(Menu detail_menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.detail_menu, detail_menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.share:
startSharing();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
menu.xml içeriği:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/refresh" android:icon="@drawable/ic_menu_refresh" android:title="@string/refresh" />
<item android:id="@+id/featured" android:icon="@drawable/ic_menu_home" android:title="@string/featured" />
<item android:id="@+id/most_recent" android:icon="@drawable/ic_menu_day" android:title="@string/most_recent" />
<item android:id="@+id/favorites" android:icon="@drawable/ic_menu_emoticons" android:title="@string/favorites" />
<item android:id="@+id/rated" android:icon="@drawable/ic_menu_star" android:title="@string/top_rated" />
<item android:id="@+id/menu_more" android:icon="@drawable/ic_menu_more" android:title="@string/more" />
</menu>
detail_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/share" android:icon="@drawable/ic_menu_share" android:title="@string/share" />
</menu>
+1. "menu.xml" ve "detail_menu.xml" ifadelerini ekleyebilir misiniz? Böylece, söz konusu ekler daha net hale gelir. –
Soruları xml ile güncelledim. – Repox
@Repox sadece birkaç soru 1. Temizlediniz mi (menu Project-> Clean ...) Proje 2'yi neden yaptınız? MyIntent.setClassName ("dk.jyskebank.programserie.tolvsytten", "dk.jyskebank.programserie) .tolvsytten.DetailedActivity ");' myIntent = new Intent (this, DetailedActivity.class); '? – Selvin