繁体   English   中英

ListView没有举行活动

ListView is not holding activities

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我做了ListView,我给了单行他们自己的活动,但是当我使用过滤器(EditText)时,它们正在改变位置。 我的意思是,如果第一行称为狗,并且其打开活动带有狗图像,则当我尝试使用过滤器查找猫行时,其始终打开的狗图像会导致它排在第一位。 如何将狗排与狗活动联系起来? 为了使他们一起前进? 下面我粘贴我的代码。 请帮我:(意图是用string.xml中的String填充的(动物只是示例)

 public class MainActivity extends ActionBarActivity {

    ArrayAdapter<String> dataAdapter = null;
    ArrayList<String> elementy = new ArrayList<String>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        getSupportActionBar().hide();

    ListaPiosenek();
    powiadomienie();




    }


    private void ListaPiosenek() {

        ArrayList<String> elementy = new ArrayList<String>();
        elementy.add("Dom w górach");
        elementy.add("Jedyne co mam");
        elementy.add("Koncert");
        elementy.add("Ocean");
        elementy.add("Tolerancja");
        elementy.add("Wiesiek idzie");
        elementy.add("Wiosna, ach to ty");
        elementy.add("Chłopaki nie płaczą");
        elementy.add("Dziki Włóczęga");
        elementy.add("Imperatyw");
        elementy.add("Piosenka Turystyczna III");
        elementy.add("Remedium");
        elementy.add("Kiedy będę starą kobietą");
        elementy.add("Długość dźwięku samotności");
        elementy.add("Król");
        elementy.add("Anna");
        elementy.add("Syn Miasta");
        elementy.add("Samotna fregata");
        elementy.add("Balonik");
        elementy.add("Partyzant");
        elementy.add("Długość dźwięku samotności");
        elementy.add("Długość dźwięku samotności");;
        elementy.add("Długość dźwięku samotności");
        elementy.add("Długość dźwięku samotności");
        elementy.add("Długość dźwięku samotności");
        elementy.add("Długość dźwięku samotności");
        elementy.add("Długość dźwięku samotności");
        //Collections.sort(elementy);




        final ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,R.layout.single_row,elementy);
        ListView list=(ListView)findViewById(R.id.listView1);
        list.setAdapter(dataAdapter);

        list.setFocusableInTouchMode(true);
        list.requestFocus();



        list.setTextFilterEnabled(true);
        EditText myFilter =(EditText)findViewById(R.id.editText1);
        myFilter.addTextChangedListener(new TextWatcher(){

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {
                dataAdapter.getFilter().filter(s.toString());

            }

            @Override
            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub

            }



        });

    }





    private void powiadomienie() {
        ListView list = (ListView)findViewById(R.id.listView1);
        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View viewClicked,
                    int position, long id) {



                if(position==0){
                    Intent i = new Intent(MainActivity.this,Utwor0.class);
                    startActivity(i);
                        }
                else if(position==1){
                    Intent i = new Intent(MainActivity.this, Utwor1.class);
                    startActivity(i);
                }
                else if(position==2){
                    Intent i = new Intent(MainActivity.this, Utwor2.class);
                    startActivity(i);           
                                }
                else if(position==3){
                    Intent i = new Intent(MainActivity.this, Utwor3.class);
                    startActivity(i);           
            }
                else if(position==4){
                    Intent i = new Intent(MainActivity.this, Utwor4.class);
                    startActivity(i);           
        }
                else if (position==5){
                    Intent i = new Intent(MainActivity.this, Utwor5.class);
                    startActivity(i);           
                }
                 else if(position==6){
                    Intent i = new Intent(MainActivity.this, Utwor6.class);
                    startActivity(i);           
                }
                else if(position==7){
                    Intent i = new Intent(MainActivity.this, Utwor7.class);
                    startActivity(i);           
                }
                else if(position==8){
                    Intent i = new Intent(MainActivity.this, Utwor8.class);
                    startActivity(i);           
                }
                else if(position==9){
                    Intent i = new Intent(MainActivity.this, Utwor9.class);
                    startActivity(i);           
                }
                else if(position==10){
                    Intent i = new Intent(MainActivity.this, Utwor10.class);
                    startActivity(i);           
                }
                else if(position==11){
                    Intent i = new Intent(MainActivity.this, Utwor11.class);
                    startActivity(i);           
                }
                else if(position==12){
                    Intent i = new Intent(MainActivity.this, Utwor12.class);
                    startActivity(i);           
                }
                else if(position==13){
                    Intent i = new Intent(MainActivity.this, Utwor13.class);
                    startActivity(i);           
                }
                else if(position==14){
                    Intent i = new Intent(MainActivity.this, Utwor14.class);
                    startActivity(i);           
                }
                else if(position==15){
                    Intent i = new Intent(MainActivity.this, Utwor15.class);
                    startActivity(i);           
                }
                else if(position==16){
                    Intent i = new Intent(MainActivity.this, Utwor16.class);
                    startActivity(i);           
                }
                else if(position==17){
                    Intent i = new Intent(MainActivity.this, Utwor17.class);
                    startActivity(i);           
                }
                else if(position==18){
                    Intent i = new Intent(MainActivity.this, Utwor18.class);
                    startActivity(i);           
                }
                else if(position==19){
                    Intent i = new Intent(MainActivity.this, Utwor19.class);
                    startActivity(i);           
                }




            }
        });











}   


}
2 个回复

使元素ArrayList成为该类的全局变量,并更改逻辑,

 list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View viewClicked,
                        int position, long id) {
                String data = parent.getAdapter().getItem(position);
                final int index = elementy.indexOf(data);
                if(index == 0){
                    Intent i = new Intent(MainActivity.this,Utwor0.class);
                    startActivity(i);
                 }

    }};

它仍然无法正常工作。 我读了一些有关viewHolder的内容,但是仍然存在相同的问题。 我在下面写VH,也许我做错了,我不知道。

class ViewHolder{
    TextView text=null;
}



public View getView(int position, View convertView, ViewGroup parent){

ViewHolder holder;


if (convertView==null){
    LayoutInflater inflater = getLayoutInflater(); 
    convertView =inflater.inflate(R.layout.single_row, null);
    holder=new ViewHolder();
    holder.text=(TextView)convertView.findViewById(R.id.textView1);
    convertView.setTag(holder);
}
else{
    holder=(ViewHolder)convertView.getTag();
}

holder.text.setText(elementy.get(position));
return (convertView);   
}
2 Android活动未举行。

我对android有点陌生,我正在关注Google开发博客以及Lynda.com上的教程,遇到了一个我似乎找不到解决方案的问题。 我有一个充满项目的ListView,单击它会加载一个新的Activity。 所有这些都按预期工作。 但是,当我单击新活动时,父级加载起来就像是全新的一样。 ...

2015-06-30 13:34:02 2 55   android
3 在图片上举行活动

如果我有一个带有Hold事件的图像,以及在完成对图像的保留之后该怎么做。 首先,您按住并设置某些内容的可见性,然后当您停止按住图像时,它首先应显示隐藏的内容。 现在,到目前为止,我只是这样做: 然后只是一些代码来显示和隐藏一些框: 我可以为保持手势进行一次完整的活动以使其 ...

4 举行悬停活动

我正在使用此cover-css-items动画菜单。 特别是: 背景过渡&gt;向右滑动。 我需要在按住按钮的同时按住图2中的动画(默认情况下,如果我将鼠标悬停,它将出现在图像1中)。 最初,链接为红色...,悬停时动画为绿色...,悬停后又变为红色。 即使我将鼠标悬停 ...

5 用JavaScript举行活动

我真的很想知道当您点击(在移动设备上)或单击(在桌面设备上)表单提交/锚定等时,是否可以执行某项功能。 并在不使用jQuery的情况下将其保留一段时间! ...

6 如何显示盖茨比即将举行的活动的列表?

我为事件的markdown文件收集了一个集合,这些事件的前题字段“ date”设置为事件的日期。 我无法弄清楚如何使用graphql查询将来的日期为限制3的事件。如果不能使用graphql完成,该怎么办? ...

9 什么时候举行DoubleClick活动而不是双击鼠标?

MouseDoubleClick事件的文档说明 重要 DoubleClick事件是控件的逻辑上更高级别的事件。 它们可能由其他用户操作引发,例如快捷键组合。 不过,我一直无法找到提高了控制DoubleClick的情况下,事件在MouseDoubleClick是不是也提 ...

10 为另一个打开的工作簿举行活动

我有一个电子表格模板,已发送给客户。 由于它已发送给第三方,因此电子表格中不能包含任何宏。 我想要完成的是将电子表格发送回给我之后,可以绑定我编写的宏以双击返回的电子表格中的单元格(该宏存储在我拥有的单独电子表格中)。 一个电子表格可以在另一个打开的电子表格上观看事件吗? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM