ورود

View Full Version : مشکل جست و جو در لیست ویو



legendmat3
پنج شنبه 10 اردیبهشت 1394, 08:50 صبح
سلام دوستان


یه مشکلی برام در زمینه جستجو در list view پیش اومده گفتم اینجا مطرح کنمhttp://www.ir-tci.org/forum/xml/smilie/400.gif



اول بگم از ذیتابیس استفاده نمی کنم.

توی پروژم لیست ویویی هست که باید روش جست و جو اعمال بشه اما مشکله من بعده جستجو هستش، زمانی که کاربر روی آیتم های نتایج کلیک می کنه برنامم به مشکل می خوره. در حقیقت قسمت on item click لیست ویو مشکل داره.


*پروژم امکان افزودن به علاقه مندی داره.
*پروژه ای که آپلود کردم نمونه هست(ماله من نیست شبیشه)
*برای نمایش نتایج کلیک روی آیتم های لیست ویو تنها یه فایل جاوا و xml هست.


ممنون میشم کمک کنید واقعا هر چه قدر با هاش ور رفتم نتونستم کاری کنم.


دانلود پروژه (http://s6.picofile.com/file/8185637484/Favorites.rar.html)

legendmat3
جمعه 11 اردیبهشت 1394, 13:58 عصر
کسی نیست کمک کنه:افسرده:

legendmat3
یک شنبه 13 اردیبهشت 1394, 12:35 عصر
یکی یه نگاه بندازه

parniaznet
یک شنبه 13 اردیبهشت 1394, 13:08 عصر
دوست عزیز کسی پروژه شما رو دانلود نمیکنه تست کنه. کد های جست و جو و لاگ کت رو بزار دوستان کمک می کنن

legendmat3
یک شنبه 13 اردیبهشت 1394, 13:14 عصر
من اصلن نمی دونم باید در قسمت on click لیست ویو چی بنویسم چون بعد جستجو جای آیتم ها عوض میشه.

legendmat3
یک شنبه 13 اردیبهشت 1394, 19:55 عصر
کد های activity اول که لیست ویو در فایل Xml متناظر با این اکتیویتی وجود داره:
package com.kelidestan.favorites;


import android.os.Bundle;
import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.graphics.DashPathEffect;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;


public class MainActivity extends ListActivity {
public ListView lv;
public Globals global = new Globals();
public int Subjects_total_number;
public String[] Subjects;
ArrayAdapter<String> adapter;





@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


Button b1 = (Button) findViewById(R.id.button1);
b1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
startActivity(new Intent(MainActivity.this, Favorites.class));

}
});




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);

}

adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, Subjects);
setListAdapter(adapter);





lv = getListView();





EditText ed = (EditText) findViewById(R.id.editText1);
final ListView lv = (ListView) findViewById(android.R.id.list);


lv.setTextFilterEnabled(true);
ed.addTextChangedListener(new TextWatcher() {


@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub


}


@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
// TODO Auto-generated method stub


}


@Override
public void afterTextChanged(Editable arg0) {
// vaghti kar bar harfi vared kard josteju mikone :
MainActivity.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);
}





;});
} {

;





}

private class MyAdapter extends ArrayAdapter<String>{


public MyAdapter(Context context, int resource, int textViewResourceId,
String[] strings) {
super(context, resource, textViewResourceId, strings);
// TODO Auto-generated constructor stub
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row = inflater.inflate(R.layout.list_item_subjects, parent, false);
String[] items = Subjects;

TextView tv = (TextView) row.findViewById(R.id.textView1);
tv.setText(items[position]);

return row;
}
}
}

parniaznet
یک شنبه 13 اردیبهشت 1394, 22:20 عصر
اینجا توضیح داده و مثال هم داره :

http://www.esfandune.ir/listview-%D8%AF%D8%B1-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-4-%D8%AC%D8%B3%D8%AA%D8%AC%D9%88-%D8%AF%D8%B1-%D9%84%DB%8C%D8%B3%D8%AA-%D9%88%DB%8C%D9%88-%DB%B2/