Différentes Icônes dans la Vue Liste
J'ai créer une vue de liste , chaque élément de l'obtention d'une icône distincte le long de la côté droit. J'ai écrit un code , mais sa ne fonctionne pas ? comment dois-je procéder ?
l'application se bloque
CODE
public class LoginMenu extends ListActivity
{
TextView maintext, subtext;
QuickContactBadge icon;
private static final String[] menuitems = { "Availability", "Messages",
"Greetings", "Address Book", "Calls", "Settings" };
@Override
protected void onCreate(Bundle savedInstanceState)
{
//TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
maintext = (TextView) findViewById(R.id.tvMainText);
subtext = (TextView) findViewById(R.id.tvSubText);
setListAdapter(new IconicAdapter());
}
class IconicAdapter extends ArrayAdapter<String>
{
public IconicAdapter()
{
super(LoginMenu.this, R.layout.menu, R.id.tvMainText, menuitems);
//TODO Auto-generated constructor stub
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
//TODO Auto-generated method stub
View row = super.getView(position, convertView, parent);
icon = (QuickContactBadge) findViewById(R.id.iContactBadge);
if (menuitems[0] != null)
{
icon.setImageResource(R.drawable.menu_availability);
}
else if (menuitems[1] != null)
{
icon.setImageResource(R.drawable.menu_messages);
}
else if (menuitems[2] != null)
{
icon.setImageResource(R.drawable.menu_greetings);
}
else if (menuitems[3] != null)
{
icon.setImageResource(R.drawable.menu_contacts);
}
else if (menuitems[4] != null)
{
icon.setImageResource(R.drawable.menu_calls);
}
else if (menuitems[5] != null)
{
icon.setImageResource(R.drawable.menu_settings);
}
return (row);
}
}
}
IMAGE de Mon fichier XML contient une image , textview et un autre sous-texte organisées conformément à la figure ci-dessous
LOGCAT
10-11 04:46:15.088: E/AndroidRuntime(726): FATAL EXCEPTION: main
10-11 04:46:15.088: E/AndroidRuntime(726): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.avst.callxpressmobile/com.example.avst.callxpressmobile.MenuScreen}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
10-11 04:46:15.088: E/AndroidRuntime(726): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
10-11 04:46:15.088: E/AndroidRuntime(726): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
10-11 04:46:15.088: E/AndroidRuntime(726): at android.app.ActivityThread.access$600(ActivityThread.java:130)
10-11 04:46:15.088: E/AndroidRuntime(726): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
10-11 04:46:15.088: E/AndroidRuntime(726): at android.os.Handler.dispatchMessage(Handler.java:99)
10-11 04:46:15.088: E/AndroidRuntime(726): at android.os.Looper.loop(Looper.java:137)
10-11 04:46:15.088: E/AndroidRuntime(726): at android.app.ActivityThread.main(ActivityThread.java:4745)
10-11 04:46:15.088: E/AndroidRuntime(726): at java.lang.reflect.Method.invokeNative(Native Method)
10-11 04:46:15.088: E/AndroidRuntime(726): at java.lang.reflect.Method.invoke(Method.java:511)
10-11 04:46:15.088: E/AndroidRuntime(726): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-11 04:46:15.088: E/AndroidRuntime(726): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-11 04:46:15.088: E/AndroidRuntime(726): at dalvik.system.NativeStart.main(Native Method)
10-11 04:46:15.088: E/AndroidRuntime(726): Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
10-11 04:46:15.088: E/AndroidRuntime(726): at android.app.ListActivity.onContentChanged(ListActivity.java:243)
10-11 04:46:15.088: E/AndroidRuntime(726): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:259)
10-11 04:46:15.088: E/AndroidRuntime(726): at android.app.Activity.setContentView(Activity.java:1867)
10-11 04:46:15.088: E/AndroidRuntime(726): at com.example.avst.callxpressmobile.MenuScreen.onCreate(MenuScreen.java:22)
10-11 04:46:15.088: E/AndroidRuntime(726): at android.app.Activity.performCreate(Activity.java:5008)
10-11 04:46:15.088: E/AndroidRuntime(726): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
10-11 04:46:15.088: E/AndroidRuntime(726): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
10-11 04:46:15.088: E/AndroidRuntime(726): ... 11 more
merci de poster votre logcat
OriginalL'auteur chitranna | 2012-10-11
Vous devez vous connecter pour publier un commentaire.
Vous pouvez obtenir un Code simple ici, qui montre une image et du texte dans chaque ligne de la liste:
http://www.mkyong.com/android/android-listview-example/
mais si le nombre de lignes est élevé, et si l'image de chaque ligne est d'être récupérée à partir d'un serveur alors il vaut mieux utiliser ce:
https://github.com/thest1/LazyList
OriginalL'auteur Archie.bpgc
Il suffit d'Utiliser Un
HashMap<String,String>
qui contiendra votre ligne de détails (image, texte deux). Reportez-vous à cette lien qui vous aideront à réaliser ce que vous voulez.OriginalL'auteur K_Anas
ci-dessous quelques liens utiles pour vous même code selon vos besoins....
http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/
http://wptrafficanalyzer.in/blog/listview-with-images-and-text-using-simple-adapter-in-android/
http://android-example-code.blogspot.in/p/dynamic-custoized-list-view-in-android.html
http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/
OU
Grâce
OriginalL'auteur SBJ
Vous Utilisez
ListActivity
et établir de contenusetContentView()
.ListActivity
par défaut a unListView
et n'a pas besoin d'un xml de mise en page. Toutefois, si vous souhaitez fournir une mise en page xml, votre mise en page DOIT avoir unListView
élément avec l'id défini à@android:id/list
.Sur le contenu, Vous pouvez toujours gonfler un menu.xml dans un
Menu
et l'utiliser comme un Tableau de données. Heureusement, chaqueMenuItem
a un titre et l'icône. AussiMenu
asize()
etgetItem()
méthodes.OriginalL'auteur S.D.