2013-01-06 12 views
0

두 개의 간단한 액티비티를 사용하여 알파벳 순서로 세 단어를 정렬하는 안드로이드 프로그램을 코딩하고 있습니다.하지만 두 번째 (출력) 액티비티에서는 TextView 또는 인 텐트가 작동하지 않습니다. 출력이 표시되지 않습니다. 첫 번째 (입력) 활동을위한 자바 코드는 다음과 같습니다 : `package com.example.names; 다음과 같이왜 TextView가 작동하지 않습니까?

import android.app.Activity; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 

public class Input extends Activity { 
EditText t1,t2,t3; 
final Context context=this; 

String n[]=new String[100]; 
String t[]=new String[100]; 

String a1,a2,a3; 
Button alpha; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.input); 
    t1=(EditText)findViewById(R.id.editText1); 
    t2=(EditText)findViewById(R.id.editText2); 
    t3=(EditText)findViewById(R.id.editText3); 
n[0]=t1.getText().toString(); 
n[1]=t2.getText().toString(); 
n[2]=t3.getText().toString(); 
for(int j=0;j<2;j++) 
    { 
     for(int k=j+1;k<3;k++) 
    { 
    if(n[j].compareToIgnoreCase(n[k])>0) 
     { 
     String temp=n[j]; 
     n[j]=n[k]; 
     n[k]=temp; 
     } 
    } 
    } 
    a1=n[0]; 
    a2=n[1]; 
    a3=n[2]; 
    alpha=(Button)findViewById(R.id.button1); 
    alpha.setOnClickListener(new OnClickListener() { 

    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     Intent i=new Intent(Input.this,Output.class); 
     i.putExtra("x", a1+a2+a3); 

      Toast.makeText(Input.this, "Method OnClick has been invoked",Toast.LENGTH_SHORT).show(); 
      startActivity(i);  
    } 
});}}` 

는 둘째 활동에 대한 자바 코드는 다음과 같습니다

package com.example.names; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.TextView; 
import android.widget.Toast; 

public class Output extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    TextView p1=new TextView(this); 

    Bundle extras=getIntent().getExtras(); 

    if (extras!=null){ 
String ans=extras.getString("x"); 
    p1.setText(ans); 
    p1.setTextSize(50); 
    Toast.makeText(Output.this, "All lines have been executed",Toast.LENGTH_LONG).show(); 
    setContentView(p1); 

}};} 

왜 출력이 다음 표시 점점되지 ??? 응용 프로그램이 충돌하지 않습니다.

답변

0

코드를 아래 코드로 변경하십시오.

버튼을 클릭하면 편집 문구 값을 가져옵니다.

입력 활동은 다음과 같습니다.

public class Input extends Activity { 
    EditText t1,t2,t3; 
    final Context context=this; 

    String n[]=new String[100]; 
    String t[]=new String[100]; 

    String a1,a2,a3; 
    Button alpha; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.input); 

     t1=(EditText)findViewById(R.id.editText1); 
     t2=(EditText)findViewById(R.id.editText2); 
     t3=(EditText)findViewById(R.id.editText3); 


     alpha=(Button)findViewById(R.id.button1); 
     alpha.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      n[0]=t1.getText().toString(); 
      n[1]=t2.getText().toString(); 
      n[2]=t3.getText().toString(); 
      for(int j=0;j<2;j++) 
       { 
        for(int k=j+1;k<3;k++) 
       { 
       if(n[j].compareToIgnoreCase(n[k])>0) 
        { 
        String temp=n[j]; 
        n[j]=n[k]; 
        n[k]=temp; 


        } 
       } 
       } 
       a1=n[0]; 
       a2=n[1]; 
       a3=n[2]; 
      Intent i=new Intent(Input.this,Output.class); 
      i.putExtra("x", a1+a2+a3); 

       Toast.makeText(Input.this, "Method OnClick has been invoked",Toast.LENGTH_SHORT).show(); 
       startActivity(i);  
     } 
    });}} 

귀하의 출력 활동은 아무런 변화가 없습니다.

+0

유용 할 경우 대답을 수락합니다 ..이게 잘 작동한다고 생각합니다. –