-1

hello people I am trying to use Intent inside onClick method but when i run my application it says "Application-Name stops". Can anyone let me know what mistake i m doing. Below the code is attached.

Before using Intent inside onClick method I used Toast to test and worked perfectly fine.
below file is subjname.java

public class subjname extends AppCompatActivity implements View.OnClickListener{

private static final int MY_BUTTON = 9000;
public int j,y=0;
public EditText[] et;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_subjname);
    int a=0;
    a = getIntent().getExtras().getInt("data1");
    LinearLayout ll = (LinearLayout)findViewById(R.id.linearLayout2);
    et = new EditText[11];
    for( j=1;j<=a;j++)
    {
        et[j]= new EditText(this);
        et[j].setHint("Enter Subject "+j);
        et[j].setMinLines(1);
        et[j].setMaxLines(1);
        et[j].setSingleLine(true);
        et[j].setFilters(new InputFilter[] {new InputFilter.AllCaps()});
        ll.addView(et[j]);
        y++;
    }

    Button b = new Button(this);
    b.setText("Continue");
    b.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    b.setId(MY_BUTTON);
    b.setOnClickListener(this);
    ll.addView(b);

}
public void onClick(View v) {
    switch (v.getId()){
        case MY_BUTTON:
            Intent i = new Intent(v.getContext(),sublist.class);
            i.putExtra("data3",y);
            startActivity(i); break;
        //Toast.makeText(getApplicationContext(),"Hi",Toast.LENGTH_SHORT).show();

    }

}

}
This file is sublist.java

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

    int z=0;
    z = getIntent().getExtras().getInt("data3");

    LinearLayout ll = (LinearLayout)findViewById(R.id.linearLayout2);
harry
  • 9
  • 5

3 Answers3

0
Intent i =  new Intent(subjname.this, sublist.class);
0xA
  • 1,519
  • 1
  • 9
  • 23
0

Well I found out an answer.. sorry.. It was my silly mistake though; thank you people for your time.

public class sublist extends AppCompatActivity {
int j;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sublist);

    int z;
    z = getIntent().getExtras().getInt("data3");<br>

My mistake was setContentView(R.layout.activity_activity);

correct is setContentView(R.layout.activity_sublist);

Those who have not understood check the class name at top.

harry
  • 9
  • 5
0
 Intent intent=new Intent(v.getContext(),MainActivity.class);
         intent.putExtra("key","value");
         startActivity(intent);

in my case this code work: call intent in activity is very simple see below code:

Intent intent=new Intent(HomeActivity.this,MainActivity.class);
         intent.putExtra("key","value");
         startActivity(intent);
**or try this code :**
Intent intent=new Intent(this,MainActivity.class);
         intent.putExtra("key","value");
         startActivity(intent);
white hills
  • 237
  • 1
  • 8