【问题标题】:dynamic listview buttons problem intent in androidandroid中的动态listview按钮问题意图
【发布时间】:2011-08-31 14:27:31
【问题描述】:

我在动态列表视图按钮中有查询。我的动态列表视图中有 2 个按钮。我可以看到 onclick 事件和 toast 出现。但是,当我尝试将意图传递给下一个活动时,它不起作用。请告诉我哪里做错了。

我的代码:

ViewHolder holder; 

   if (convertView == null) {
      convertView = mInflater.inflate(R.layout.adaptor_content, null);
      // Creates a ViewHolder and store references to the two children
      // views
      // we want to bind data to.
            holder = new ViewHolder();
            holder.textLine = (TextView) convertView.findViewById(R.id.textLine);
      //    holder.iconLine = (ImageView) convertView.findViewById(R.id.iconLine);
            holder.buttonLine = (Button) convertView.findViewById(R.id.buttonLine);
            holder.DbuttonLine = (Button) convertView.findViewById(R.id.DbuttonLine);
            holder.textLine2 =(TextView) convertView.findViewById(R.id.textLine2);
            holder.mobile =(TextView) convertView.findViewById(R.id.mobile);
            holder.newmes =(TextView) convertView.findViewById(R.id.newmessage);
        convertView.setOnClickListener(new OnClickListener() {
        private int pos = position;
        @Override
        public void onClick(View v) {
          Toast.makeText(context, "Click-" + String.valueOf(pos), Toast.LENGTH_SHORT).show();    
                 }
      });
        holder.buttonLine.setOnClickListener(new OnClickListener(){
        private int pos = position;
        @Override
        public void onClick(View v) {
          //Toast.makeText(context, "Delete-" + String.valueOf(pos), Toast.LENGTH_SHORT).show();
            Intent myIntent = new Intent(v.getContext(), messsagelist.class);
            //startActivity(myIntent);

            this.startActivityForResult(myIntent, 0);


            }
        private void startActivityForResult(Intent myIntent, int i) {
            // TODO Auto-generated method stub

        }
      });
      holder.DbuttonLine.setOnClickListener(new OnClickListener() {
      private int pos = position;
          @Override
          public void onClick(View v) {
          Toast.makeText(context, "Details-" + String.valueOf(pos), Toast.LENGTH_SHORT).show();
        }
        });
      convertView.setTag(holder);
    } else {
      holder = (ViewHolder) convertView.getTag();
 }

【问题讨论】:

    标签: android listview button dynamic


    【解决方案1】:

    尝试更改您的 getContext() 代码以使用您的活动上下文。

    替换:

            Intent myIntent = new Intent(v.getContext(), messsagelist.class);
            //startActivity(myIntent);
    
            this.startActivityForResult(myIntent, 0);
    

    与:

            Intent myIntent = new Intent(yourActivityName.this, messsagelist.class);
            //startActivity(myIntent);
    
            this.startActivityForResult(myIntent, 0);
    

    编辑:修正了代码中的拼写错误。

    【讨论】:

    • getApplicationContext()
    • Intent myIntent = new Intent(yourActivityName.this, messsagelist.class); //startActivity(myIntent);这给了我错误:这一行的多个标记 - 标记“,”上的语法错误,删除此标记 - 构造函数 Intent(Class) 未定义并且无法对非静态方法 startActivity(Intent) 进行静态引用从类型 Activity this.startActivityForResult(myIntent, 0);..请建议我过去 3 天都在做同样的事情.. 我的查询是当我单击列表视图中的动态按钮时,我需要关注下一个活动。跨度>
    • yourActivityName.this 应该是您的活动名称。我的意思不是“你的活动名称”。如果您仍然在苦苦挣扎,请发布您的整个活动代码,我会再看一遍,确保您对此评论有回复,以便我回来查看。
    • 我的代码似乎很大。我怎样才能给你我的代码。请回复我先生。
    • 先生,我正在向您发送一个链接 使用此链接您可以下载并保存文件。 "yousendit.com/download/M0RyZGVZYXlPSHhFQlE9PQ"
    猜你喜欢
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    • 2011-03-03
    • 1970-01-01
    • 2023-03-25
    • 2023-03-31
    相关资源
    最近更新 更多