2017-04-27 3 views
-1

私は、別のアクティビティに変更するボタンを作成しようとしていると同時に、ユーザ入力からテキストを含む新しいtextViewを作成します。私は1つのアクティビティでそれを行う方法を考え出しました(私はこれから得ました:LINK)。しかし、私はボタンが私を別のアクティビティに連れて欲しいということを除いて全く同じことをしたいと思います。ボタンを変更してアンドロイドスタジオで新しいテキストビューを作成するにはどうすればいいですか?

これは、アカウントの概要を示すことです。あなたは "アカウントページの作成"に行き、アカウントを作成し、その概要にアカウントが表示されます。

これは私がこれまで持っているものです。

ファーストクラス:

public class MainActivity extends AppCompatActivity { 

private EditText mEditText; 
private Button mButton; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    mEditText = (EditText) findViewById(R.id.editText); 
    mButton = (Button) findViewById(R.id.button); 
    mButton.setOnClickListener(onClick()); 

    TextView textView = new TextView(getApplicationContext()); 
    textView.setText("New text"); 

} 

private View.OnClickListener onClick() { 
    return new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent buttonIntent = new Intent(MainActivity.this, 
SecondLayout.class); 
      MainActivity.this.startActivity(buttonIntent); 

mLayout.addView(createNewTextView(mEditText.getText().toString())); 

     } 
    }; 
} 

private TextView createNewTextView(String text) { 
    final LinearLayout.LayoutParams lparams = new 
LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, 
LinearLayout.LayoutParams.WRAP_CONTENT); 
    final TextView textView = new TextView(this); 
    textView.setLayoutParams(lparams); 
    textView.setText("New text: " + text); 
    return textView; 
} 
} 

セカンドクラス:

public class SecondLayout extends AppCompatActivity { 

public static LinearLayout mLayout; 


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

    mLayout = (LinearLayout) findViewById(R.id.linearLayout); 


    final Button addAccountButton = (Button) 
findViewById(R.id.secondButton); 
    addAccountButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent buttonIntent = new Intent(SecondLayout.this, 
MainActivity.class); 
      SecondLayout.this.startActivity(buttonIntent); 
     } 
    }); 

} 

} 

最初のアクティビティのXML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:id="@+id/firstlayout"> 
<EditText 
    android:id="@+id/firstText" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    /> 
<Button 
    android:id="@+id/button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="button" 
    /> 
</LinearLayout> 

のXML第2の活動:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:id="@+id/firstlayout"> 
<EditText 
    android:id="@+id/firstText" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    /> 
<Button 
    android:id="@+id/button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="button" 
    /> 
</LinearLayout> 

私はアンドロイドのスタジオやJavaに非常に新しいので、私が見ることができないいくつかの明白なミスは、おそらくあります。

答えて

0

firstviewでtextviewを作成しないでください。その代わりに、編集テキストのテキストを第2の活動の意図に追加します。 2番目のアクティビティで文字列をフェッチし、2番目のアクティビティでtextviewを作成します。

意図に

Pass a String from one Activity to another Activity in Android

を文字列を渡す方法を確認してください
関連する問題