Привет всем!
Ситуация такая: есть activity и она имеет список (ListView). Нужно настроить обработчик нажатия так, чтобы при нажатии на первый элемент вызывалась activity2 показывая первый фрагмент, и аналогично если нажать на второй элемент, то вывести activity2 показывая второй фрагмент.
Вот картинка, чтобы вы поняли о чем речь
Мой код:
public class Class extends Activity {
ArrayAdapter<String> adapter = null;
View emptyView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
getActionBar().hide();
ListView listView = (ListView) findViewById(R.id.ListView);
listView.setEmptyView(
emptyView = getLayoutInflater().inflate(R.layout.empty_view, null));
((ViewGroup)listView.getParent()).addView(emptyView);
fillListView();
listView.setAdapter(adapter);
listView.setTextFilterEnabled(true);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
if (((TextView) view).getText() == "Go1"){
} else
if (((TextView) view).getText() == "Go2"){
FragmentManager fragmentManager1 = getFragmentManager();
FragmentTransaction fragmentTransaction1 = fragmentManager1
.beginTransaction();
Intent Fragment1 = new Intent(Class.this, MainActivity.class);
startActivity(Fragment1);
Fr myFragment1 = new Fr();
myFragment1.setRetainInstance(true);
fragmentTransaction1.replace(R.id.container, myFragment1);
fragmentTransaction1.commit();
SearchActivity.this.finish();
}
if (((TextView) view).getText() == "Go3"){
}
}
});
EditText editFilter = (EditText) findViewById(R.id.edit_search);
editFilter.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
adapter.getFilter().filter(s.toString());
}
});
}
private void fillListView() {
List<String> catList = new ArrayList<String>();
catList.add("Go1");
catList.add("Go2");
catList.add("Go3");
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, catList);
}
}