الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة في Listview تفتح activity جديد

بدأه aasameer في 27 مارس 2014 · 2 رد · 751 مشاهدة · في Android
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

كنت محتاج مساعدة في الكود دا مش عارف مش شغال ليه المفروض انو ليست فيو هتفتح اكتفيتي جديدة لما اضغط على اي اختيار فيها مش ياريت لو حد من الاخوة الكرام يساعدني 

 

دا الكود :

public class ListMobileActivity extends ListActivity {

	static final String[] MOBILE_OS = new String[] { "Android", "iOS",
			"WindowsMobile", "Blackberry"};

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		//setListAdapter(new ArrayAdapter<String>(this, R.layout.list_mobile,
		//		R.id.label, MOBILE_OS));
		
		setListAdapter(new MobileArrayAdapter(this, MOBILE_OS));
		

	}

	@Override
	protected void onListItemClick(ListView l, View v, int position, long id) {
	
		
		
		

 if 
 ("android".equals(MOBILE_OS[0]))	      {
			
	 Toast.makeText(getBaseContext(),"android.", Toast.LENGTH_LONG).show();
	 Intent myIntent = new Intent(MainActivity.this, android.class);
     startActivity(myIntent);
 }
 else if ("iOS".equals(MOBILE_OS[1]))
 {
	 Toast.makeText(getBaseContext(),"ios", Toast.LENGTH_LONG).show();

	 Intent myIntent = new Intent(MainActivity.this, ios.class);
     startActivity(myIntent);


}
}}
#2

أولا - ممكن تشرح التصرف الذي يتم وانت لا تريده؟

ثانيا في : 

    protected void onListItemClick(ListView l, View v, int position, long id) {

عندك position وهو يشير الى العنصر الذي تم اختياره من القائمة ListView يمكنك استخدامه - لا ادري لماذا تجاهلته، الشروط التي وضعتها لفتح Activity جديد دائما صحيحة فأنت تقارن القيمة الموجودة في MOBILE_OS بقيمتها الحقيقية (عدى أول قيمة فقد قارنت Android ب android  .

يمكنك مقارنة [MOBILE_OS[position بالقيم التي تريد.

onListItemClick(ListView l, View v, int position, long id) 
               ListView lv = (ListView) l; 
TextView mobileType= (TextView) v.findViewById(R.id.yourID_from XML);
String idd = mobileType.getText().toString();
("if(idd=="Andriod
{Do your work}
              );

تم تعديل هذه المشاركة بواسطة اسماعيل ابراهيم في 29 مارس 2014 في 02:27

#3

جرب equalsIgnoreCase بدلا من equals

تم تعديل هذه المشاركة بواسطة bilalsammour في 5 أبريل 2014 في 17:59

1

مواضيع مشابهة