civilroid

توسعه دهنده اندروید
  • تعداد ارسال ها

    1
  • تاریخ عضویت

  • آخرین بازدید

اعتبار در انجمن

0 Neutral

درباره civilroid

  • درجه
    Newbie
  1. سلام اساتید من یک listview دارم که 10 آیتم داره،هر آیتم یک عنوان داره و یک محتوا که با کلیک روی هر آیتم به اکتیویتی نمایش محتوا منتقل میشیم(فقط یک اکتیویتی برای نمایش همه آیتم ها وجود دارد)،تا اینجا مشکلی نیست(دیتابیس ندارم و اطلاعات آیتم ها در string.xml هست) در بالای این لیست یه edittext گذاشتم برای جستجو بین عناوین آیتم ها که جستجو هم به درستی انجام میشه ولی بعد از جستجو با کلیک روی نتایج جستجو محتوای درست نمایش داده نمیشهفرض کنید در لیست اولیه اولین آیتم "نرم افزار" و دهمین آیتم "سخت افزار" باشه حالا اگر "سخت افزار" رو جستجو کنید چون توی لیست میاد جای اولین آیتم با کلیک روی اون محتوای "نرم افزار" نمایش داده میشه کسی میتونه راهنمایی کنه؟ممنون این کد اکتیویتی هست که توش لیست قرار داره و سرچ میکنیم: [shcode=java]import android.app.ListActivity; import android.content.Intent; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; import android.widget.TextView; public class Search extends ListActivity { Button search; TextView matn; public ListView lv; public Globals global = new Globals(); public int Subjects_total_number; public String[] Subjects; // Listview Adapter ArrayAdapter adapter; // Search EditText EditText inputSearch; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.search); lv = (ListView) findViewById(R.id.list_view); inputSearch = (EditText) findViewById(R.id.inputSearch); search=(Button) findViewById (R.id.button1); search.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { Intent toFehrest=new Intent(Search.this ,Fehrest.class); ; startActivity(toFehrest); } }); Subjects_total_number = global.Subjects_total_number; Subjects = new String[subjects_total_number]; for(int x = 1; x < Subjects_total_number+1; x = x+1) { String this_subject = "subject_" + String.valueOf(x); int resID = getResources().getIdentifier(this_subject, "string", getPackageName()); Subjects[x-1] = getResources().getString(resID); } lv = getListView(); adapter = new ArrayAdapter(this, R.layout.list, R.id.tv_list, Subjects); lv.setAdapter(adapter); /** * Enabling Search Filter * */ inputSearch.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { Search.this.adapter.getFilter().filter(arg0); } @Override public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable arg0) { Search.this.adapter.getFilter().filter(arg0); } }); lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, final View view, int position, long id) { Intent i = new Intent(getApplicationContext(), Show_Subjects.class); String Subject_number = String.valueOf(position+1); i.putExtra("subject_number", Subject_number); startActivity(i); } }); } }[/shcode] اینم کد اکتیویتی که محتوای آیتم ها بعد از کلیک نمایش داده میشه [shcode=java]import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; public class Show_Subjects extends Activity { Button home; Button share; static TextView tv1; static TextView tv2; private void shareIt() { //sharing implementation here Intent intent = new Intent(Intent.ACTION_SEND); String one=tv1.getText().toString(); String two=tv2.getText().toString(); intent.setType("text/plain"); String my_string =""+one+"\n"+two; intent.putExtra(Intent.EXTRA_TEXT, my_string); startActivity(Intent.createChooser(intent, "اشتراک این مطلب از طریق:")); } public String Subject_number; public SharedPreferences shared; public SharedPreferences.Editor editor; Globals global = new Globals(); public ImageView iv_favorites; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.show_subjects); home=(Button) findViewById (R.id.btn_home); share=(Button) findViewById (R.id.btn_share); home.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { Intent toFehrest=new Intent(Show_Subjects.this ,Fehrest.class); ; startActivity(toFehrest); } }); share.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { shareIt(); } }); iv_favorites = (ImageView) findViewById(R.id.imageView1); Bundle extras = getIntent().getExtras(); if (extras != null) { Subject_number = extras.getString("subject_number"); } tv1 = (TextView) findViewById(R.id.textView1); String stringName_1 = "subject_" + String.valueOf(Subject_number);; int resID_1 = getResources().getIdentifier(stringName_1, "string", getPackageName()); tv1.setText(resID_1); tv2 = (TextView) findViewById(R.id.textView2); String stringName_2 = "subject_text_" + String.valueOf(Subject_number);; int resID_2 = getResources().getIdentifier(stringName_2, "string", getPackageName()); tv2.setText(resID_2); // Favorites shared = getSharedPreferences("Prefs", MODE_PRIVATE); editor = shared.edit(); final int subject_number_int = Integer.parseInt(Subject_number); final String this_subject = "subject_" + String.valueOf(subject_number_int); final Boolean b1 = shared.getBoolean(this_subject, false); if (b1){ iv_favorites.setImageResource(R.drawable.favorite_selected); }else{ iv_favorites.setImageResource(R.drawable.favorite_not_selected); } iv_favorites.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Boolean b2 = shared.getBoolean(this_subject, false); if (b2){ editor.putBoolean(this_subject, false); editor.commit(); iv_favorites.setImageResource(R.drawable.favorite_not_selected); // show message String message = getResources().getString(R.string.favorites_removed); Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show(); }else{ editor.putBoolean(this_subject, true); editor.commit(); iv_favorites.setImageResource(R.drawable.favorite_selected); // show message String message = getResources().getString(R.string.favorites_added); Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show(); } } }); } }[/shcode]