0

我想做一个带有类的应用程序,以使用 for 循环动态创建按钮。

我调用构造函数和点击监听器。

除了点击监听器之外的所有代码都不会改变我拥有的活动,我可以做什么?

public BotonPersonalizado(RelativeLayout layoutactual, int id, int posicionX,
        int posicionY, String texto, final Context contexto) {


    Button boton = new Button(contexto);
    boton.setId(id);
    boton.setText(texto);
    boton.setTextSize(10);
    boton.setMinimumHeight(5);
    boton.setHeight(5);
    boton.setWidth(100);
    boton.setX(posicionX);
    boton.setY(posicionY);
    boton.setTextColor(Color.BLACK);

    layoutactual.addView(boton);

我使用上下文来改变和使用 Intent.FLAG_ACTIVITY_NEW_TASK 来调用一个新的活动

    boton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            int pasarid = v.getId();
            Intent i = new Intent(contexto,Tercero.class);
            i.putExtra("id", pasarid);
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
            contexto.startActivity(i);

        }
    });

}
4

2 回答 2

1

尝试调用另一个这样的活动,

private OnClickListener buttonclicked1 = new OnClickListener()
    {

        @Override
        public void onClick(View v)
        {
            Intent intent = new Intent(getApplicationContext(), InformationActivity.class);
            startActivity(intent);
        }

    };

在清单中,

<activity android:name=".InformationActivity" android:label="@string/app_name">
- <intent-filter>
  <action android:name="android.intent.action.VIEW" /> 
  <category android:name="android.intent.category.DEFAULT" /> 
  </intent-filter>
  </activity>
于 2013-04-12T11:16:51.933 回答
0
boton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            int pasarid = v.getId(); //i get the ID for the next activity               
                Intent i = new Intent(context,Tercero.class);
            i.putExtra("id", pasarid); //i put the id to intent
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
            context.startActivity(i);


        }
    });

}

看看这个链接:

从 Activity 外部调用 startActivity()?

于 2013-04-12T11:43:16.247 回答