Android列表视图可点击以及重定向

时间:2016-04-10 17:37:06

标签: android listview search android-edittext items

我正在使用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);




}

}

1 个答案:

答案 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");