I have created an application that is supposed to show a listview with searchbox and items that user can click on and start a new activity, or search for the specific one and do the same.
Right now I can search for an item and start an activity that it is supposed to, but when I click without searching, it doesn't start properly. For example clicking on first 10 items launches only 1 same activity instead of the 10 different ones.
My code looks like this -
public class ItemMenu extends Activity {
private ListView lv;
ArrayAdapter<String> adapter;
EditText inputSearch;
ArrayList<HashMap<String, String>> itemList;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.item_menu);
String items[] = {"Item 1", "Item 2", "Item 3", "Item 4", "Item 5", "Item 6", "Item 7", "Item 8", "Item 9", "Item 10", "Item 11" etc...
};
lv = (ListView) findViewById(R.id.ItemListView);
inputSearch = (EditText) findViewById(R.id.search_item);
adapter = new ArrayAdapter<String>(this, R.layout.item_item, R.id.item_item_title, items);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView textview = (TextView)findViewById(R.id.item_item_title);
String sText = textview.getText().toString();
Intent intent = null;
if(sText.equals("Item 1"))
intent = new Intent(getBaseContext(),
B1.class);
else if(sText.equals("Item 2"))
intent = new Intent(getBaseContext(),
B2.class);
else if(sText.equals("Item 3"))
intent = new Intent(getBaseContext(),
B3.class);
else if(sText.equals("Item 4"))
intent = new Intent(getBaseContext(),
B4.class);
else if(sText.equals("Item 5"))
intent = new Intent(getBaseContext(),
B5.class);
else if(sText.equals("Item 6"))
intent = new Intent(getBaseContext(),
B6.class);
else if(sText.equals("Item 7"))
intent = new Intent(getBaseContext(),
B7.class);
else if(sText.equals("Item 8"))
intent = new Intent(getBaseContext(),
B8.class);
else if(sText.equals("Item 9"))
intent = new Intent(getBaseContext(),
B9.class);
else if(sText.equals("Item 10"))
intent = new Intent(getBaseContext(),
B10.class);
else if(sText.equals("Item 11"))
intent = new Intent(getBaseContext(),
B11.class);
etc...
if(intent != null)
startActivity(intent);
}
});
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
ItemMenu.this.adapter.getFilter().filter(cs);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});
}
}
When I click on an Item LogCat shows this:
W/IInputConnectionWrapper﹕ getSelectedText on inactive InputConnection
W/IInputConnectionWrapper﹕ setComposingText on inactive InputConnection
D/SensorManager﹕ unregisterListener:: Trklfufi 9 budiwrd5mrfo5WirfulblrwuFmfulTrklfufi$KfukwiFmfulTrklfufiRvht@,*--:af(
D/Sensors﹕ Remain listener = Sending .. normal delay 200ms
I/Sensors﹕ sendDelay --- 200000000
D/SensorManager﹕ JNI - sendDelay
I/SensorManager﹕ Set normal delay = true
0 comments:
Post a Comment