ellsevan 0 ارسال شده در ۱۵ دی ۱۳۹۵ گزارش اشتراک گذاری ارسال شده در ۱۵ دی ۱۳۹۵ با سلام خدمت دوستان گرامی یدونه لیست ویو سفارشی دارم فقط مشکل من اینه که کد های رفتن به اکتیویتی دیگه رو نمیتونم جاگذاری کنم ممنون میشم کمکم کنید اینم main activity package com.appinapps.listviewwithalphabetical; import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; public class MainActivity extends Activity implements OnClickListener { Map<String, Integer> mapIndex; ListView fruitList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //گرفتن اطلاعات از فایل xml String[] fruits = getResources().getStringArray(R.array.fruits_array); //ایجاد یک ارایه Arrays.asList(fruits); fruitList = (ListView) findViewById(R.id.list_fruits); fruitList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, fruits)); getIndexList(fruits); displayIndex(); } //با استفاده از hashmap کلید ها و حروف ها رو به صورت لیست نمایش میدیم private void getIndexList(String[] fruits) { mapIndex = new LinkedHashMap<String, Integer>(); for (int i = 0; i < fruits.length; i++) { String fruit = fruits; String index = fruit.substring(0, 1); if (mapIndex.get(index) == null) mapIndex.put(index, i); } } //نمایش حروف الفبا private void displayIndex() { LinearLayout indexLayout = (LinearLayout) findViewById(R.id.side_index); TextView textView; List<String> indexList = new ArrayList<String>(mapIndex.keySet()); for (String index : indexList) { textView = (TextView) getLayoutInflater().inflate( R.layout.side_index_item, null); textView.setText(index); textView.setOnClickListener(this); indexLayout.addView(textView); } } public void onClick(View view) { TextView selectedIndex = (TextView) view; fruitList.setSelection(mapIndex.get(selectedIndex.getText())); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
a.khosroabadi 100 ارسال شده در ۱۶ دی ۱۳۹۵ گزارش اشتراک گذاری ارسال شده در ۱۶ دی ۱۳۹۵ سلام دوست عزیز اگر میخواهید با کلیک روی هرکدام از ایتم های لیست به یک اکتیویتی دیگه برین باید برای لیست یک listener تعریف کنید به این صورت fruitList.setOnItemClickListener(new AdapterView.OnItemClickListener(){ @Override public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { Intenet intent = new Intent(MainActivity.this , SecondActivity.class); startActivity(intent); } }); و یا اگر نمیخواید برای لیست listener بزارین میتونید یه دکمه تو صفحه بزارین و برای این دکمه listener تعریف کنید ب این صورت Button button = (Button) findViewById(R.id.mybutton); button.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(MainActivity.this , SecondActivity.class); startActivity(intent); } }); نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .