我正在使用Android应用程序的项目,我创建了一个包含项目的列表视图,甚至是正常的。 用户可以在编辑文本中搜索项目,我只是喜欢现在用户可以点击某个项目并被重定向到另一个活动。 我可以做重定向,没问题。如果这样的复选框item1执行此操作,我怎样才能在表格中进行研究...那么我怎么能这样做? 对不起我的英语,我是法国人,美好的一天
以下是代码:
public class MainActivity extends ActionBarActivity {
String[] items;
ArrayList<String> listItems;
ArrayAdapter<String>adapter;
ListView listView;
EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView=(ListView)findViewById(R.id.listview);
editText=(EditText) findViewById(R.id.txtsearch);
initList();
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.toString().equals("")) {
initList();
} else {
searchItem(s.toString());
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
listView.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> adapterView,
View view, int position, long id) {
switch (position){
case 0:
listView.setBackgroundColor(17170459);
finish();
break;
case 1:
listView.setBackgroundColor(17170453);
finish();
break;
}
}
});
}
public void searchItem(String textToSearch){
for (String item:items){
if (!item.contains(textToSearch)){
listItems.remove(item);
}
}
adapter.notifyDataSetChanged();
}
public void initList(){
items= new String[]{"item2","item3","test"};
listItems = new ArrayList<>(Arrays.asList(items));
adapter = new ArrayAdapter<String>(this, R.layout.list_item,R.id.txtitem,listItems);
listView.setAdapter(adapter);
}
}
答案 0 :(得分:1)
好的,首先很抱歉发布了答案而非评论,但我没有足够的声誉来发表评论。
你想知道你的&#34; itemActivity&#34;您点击上一个活动的哪个项目,我是对的吗?
然后感谢Intent启动一个新活动,你可以用EXTRA精确点击你点击的项目的位置:
Intent i=new Intent(context,itemActivity.class);
i.putExtra("quelItem", position);
startActivity(i);
您可以在ItemActivity类中找到这样的位置:
Intent intent = getIntent();
int quelItem= intent.getIntExtra("quelItem");