【问题标题】:Android List View Clickable with redirectionAndroid List View Clickable with redirect
【发布时间】:2016-04-10 17:37:06
【问题描述】:

我在一个 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);




}

}

【问题讨论】:

  • 如果这样的复选框 item1 执行此操作等,我如何在表中进行研究切换...这不清楚..您说重定向是可以的,这意味着项目单击时的活动更改是可以的。 ...所以你到底想要什么...

标签: android listview search android-edittext items


【解决方案1】:

好的,首先很抱歉发布答案而不是评论,但我没有足够的声誉来发表评论。

您想知道在您的“itemActivity”中您点击了上一个活动的哪个项目,对吗?

然后通过 Intent 启动一个新活动,您可以使用 EXTRA 精确定位您单击的项目的位置:

Intent i=new Intent(context,itemActivity.class);
i.putExtra("quelItem", position);
startActivity(i);

您可以像这样在 ItemActivity 类中找到位置:

Intent intent = getIntent();
int quelItem= intent.getIntExtra("quelItem");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多