【问题标题】:Intent dosen't work on ListView items. Class extends to ArrayAdapter<String>Intent 不适用于 ListView 项目。类扩展到 ArrayAdapter<String>
【发布时间】:2016-04-14 18:22:28
【问题描述】:

我有一个带有自定义适配器的 listView,我的自定义适配器包含按钮。 我想在单击按钮时更改活动我这样做:

Intent intent = new Intent(this,ChatActivity.class);
startActivity(intent);

但它不起作用。

这是我的代码:

class CustomUserAdapter extends ArrayAdapter<String>  {

public CustomUserAdapter(Context context, List<String> usernames) {
    super(context, R.layout.custom_row_user, usernames);
}

@Override
public View getView(int position, final View convertView, final ViewGroup parent) {
    LayoutInflater myInflater = LayoutInflater.from(getContext());
    View customView = myInflater.inflate(R.layout.custom_row_user, parent, false);

    String singleUser = getItem(position);
    Button bUser = (Button) customView.findViewById(R.id.bUserList);
    bUser.setText(singleUser);
    bUser.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    });

    return customView;
}

}

【问题讨论】:

  • 你的按钮点击是空的

标签: android listview android-intent android-activity android-listview


【解决方案1】:

在这样的上下文的帮助下开始你的新活动

Intent intent = new Intent(context,ChatActivity.class);
context.startActivity(intent);

【讨论】:

    【解决方案2】:
    class CustomUserAdapter extends ArrayAdapter<String>  {
       private Context  _Contaxt;
       public CustomUserAdapter(Context context, List<String> usernames) {
      super(context, R.layout.custom_row_user, usernames);
        this._Contaxt=context;
    }
    
    @Override
    public View getView(int position, final View convertView, final ViewGroup parent) {
    LayoutInflater myInflater = LayoutInflater.from(getContext());
    View customView = myInflater.inflate(R.layout.custom_row_user, parent, false);
    
    String singleUser = getItem(position);
    Button bUser = (Button) customView.findViewById(R.id.bUserList);
    bUser.setText(singleUser);
    bUser.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           Intent intent = new Intent(_Contaxt,ChatActivity.class);
         _Contaxt.startActivity(intent);
        }
    });
    
    return customView;
      }
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-28
      • 2011-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      • 1970-01-01
      • 2014-08-20
      相关资源
      最近更新 更多