【问题标题】:Starting a new Activity BaseAdapter启动一个新的 Activity BaseAdapter
【发布时间】:2018-08-21 12:44:10
【问题描述】:

如何在 baseadapter 中启动新活动我使用默认方式打开活动,但不适用于 baseadapter

Intent 意图 = new Intent(context,AnotherActivity.class); context.startActivity(intent);

 @Override
public View getView(final int p, View convertView, ViewGroup parent) {
    View grid;
    LayoutInflater inflater = (LayoutInflater) mContext
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    if (convertView == null) {

        grid = new View(mContext);
        grid = inflater.inflate(R.layout.gridview_custom_layout, null);

    } else {
        grid = (View) convertView;
    }
    TextView textView = (TextView) grid.findViewById(R.id.gridview_text);
    ImageView imageView = (ImageView)grid.findViewById(R.id.gridview_image);
    textView.setText(string[p]);
    imageView.setImageResource(Imageid[p]);

    imageView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            switch (p){
                case 0:
                    Toast.makeText(v.getContext(), "Clicked Laugh Vote", Toast.LENGTH_SHORT).show();
                    break;
                case 1:
                    Toast.makeText(v.getContext(), "2", Toast.LENGTH_SHORT).show();
                    break;
                case 2:

                    break;
                default:
                    // Do something else
                    break;
            }
        }
    });

【问题讨论】:

  • 您在开始活动时是否遇到任何错误?
  • 问题解决谢谢
  • 请发布完整的适配器代码或从适配器启动活动代码
  • 简单地说,你需要使用你的适配器的contructor和上下文和LIst,你需要在startActivity中使用那个上下文

标签: android


【解决方案1】:

您可以使用以下代码来启动一个新的Activity BaseAdapter:

imageView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        mContext.startActivity(new Intent(mContext,YourActivity.class))
    }
});

【讨论】:

  • 虽然这段代码可以回答问题,但最好解释一下如何解决问题,并提供代码作为示例或参考。仅代码的答案可能会令人困惑且缺乏上下文。
【解决方案2】:
Intent yourIntent = new Intent(mContext,Wukong.class);
                    yourIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK |Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
                   mContext.startActivity(yourIntent);

【讨论】:

  • 你应该解释为什么你推荐上面的代码。
猜你喜欢
  • 2014-11-01
  • 2015-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-20
相关资源
最近更新 更多