saeedf436
پنج شنبه 01 مرداد 1394, 20:21 عصر
من یه اکتیویتی جستجو دارم که توش لیست ویو رو وقتی فیلتر میکنم مقدار موقعیت اشتباهی به من میده میخام موقعیت درست رو به انتنت بفرستم که به اکتیویتی دوم بره اگه بدون جستجو آیتم رو انتخاب کنم درست کار میکنه اما وقتی جسجو میکنم و فیتلر میکنه نه مثله انتخاب در حالت غیر فیلتر کار میکنه
یا اصلا یه جایی هست که بشینم این آرایه آداپتر ها رو مثه آدم بخونم معرفی کنید.
ممنون بازم
این هم کد منه که استفاده کردم میدونم تو انجمن چند تا پست واسه فیلتر و اینا هست اما همشون خیلی پیشرفته هست من با این روش لیست علاقه مندی هم ساختم که درست کار میکنه حتی اگه بدون فیلتر هم همین طور فقط بعد فیلتره
چند روزه گیره اینم
import android.app.ListActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
public class Ravan1 extends ListActivity {
public int Subjects_total_number;
public String[] Subjects;
ListView lv;
public ArrayAdapter<String> adapter;
EditText ed;
SharedPreferences full;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
screnpref();
setContentView(R.layout.a_ravan1);
Subjects = new String[200];
for (int x = 1; x < 200 + 1; x = x + 1) {
String this_subject = "ravan1_" + 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);
ed = (EditText) findViewById(R.id.edtsearchr1);
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) {
setListAdapter(adapter);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
setListAdapter(adapter);
}
@Override
public void afterTextChanged(Editable arg0) {
Ravan1.this.adapter.getFilter().filter(arg0);
setListAdapter(adapter);
}
});
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent i = new Intent(getApplicationContext(), Secendr1.class);
//این خط مشکل من هستش موقعیت رو میفرسته و تو اکتیویتی دوم دریافت میشه اما
String Subject_number = String.valueOf(position + 1);
i.putExtra("subject_number", Subject_number);
startActivity(i);
Toast.makeText(getApplicationContext(), position + 1,
Toast.LENGTH_SHORT).show();
}
});
}
private void screnpref() {
requestWindowFeature(Window.FEATURE_NO_TITLE);
full = PreferenceManager.getDefaultSharedPreferences(getB aseContext());
boolean lab = full.getBoolean("swich_full_pref", true);
if (lab == true) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FL AG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
if (lab == false) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCRE EN,
WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCRE EN);
}
}
}
یا اصلا یه جایی هست که بشینم این آرایه آداپتر ها رو مثه آدم بخونم معرفی کنید.
ممنون بازم
این هم کد منه که استفاده کردم میدونم تو انجمن چند تا پست واسه فیلتر و اینا هست اما همشون خیلی پیشرفته هست من با این روش لیست علاقه مندی هم ساختم که درست کار میکنه حتی اگه بدون فیلتر هم همین طور فقط بعد فیلتره
چند روزه گیره اینم
import android.app.ListActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
public class Ravan1 extends ListActivity {
public int Subjects_total_number;
public String[] Subjects;
ListView lv;
public ArrayAdapter<String> adapter;
EditText ed;
SharedPreferences full;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
screnpref();
setContentView(R.layout.a_ravan1);
Subjects = new String[200];
for (int x = 1; x < 200 + 1; x = x + 1) {
String this_subject = "ravan1_" + 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);
ed = (EditText) findViewById(R.id.edtsearchr1);
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) {
setListAdapter(adapter);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
setListAdapter(adapter);
}
@Override
public void afterTextChanged(Editable arg0) {
Ravan1.this.adapter.getFilter().filter(arg0);
setListAdapter(adapter);
}
});
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent i = new Intent(getApplicationContext(), Secendr1.class);
//این خط مشکل من هستش موقعیت رو میفرسته و تو اکتیویتی دوم دریافت میشه اما
String Subject_number = String.valueOf(position + 1);
i.putExtra("subject_number", Subject_number);
startActivity(i);
Toast.makeText(getApplicationContext(), position + 1,
Toast.LENGTH_SHORT).show();
}
});
}
private void screnpref() {
requestWindowFeature(Window.FEATURE_NO_TITLE);
full = PreferenceManager.getDefaultSharedPreferences(getB aseContext());
boolean lab = full.getBoolean("swich_full_pref", true);
if (lab == true) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FL AG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
if (lab == false) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCRE EN,
WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCRE EN);
}
}
}