2012-02-09 7 views
3

私は現在電子ブックリーダーアプリを私のプロジェクトとして設計していますが、テキストビューのテキストを他の活動から変更する際に問題があります。私のプロジェクトのTextViewのテキストを他のアクティビティから変更したいですか?

内容、

活動1は、2つのボタンが含まれており、ボタン1がクリックされたときに「いくつかのテキストは、」表示されますとbutton2をがクリックされたときに、「他のテキストは」に表示されsholud TextView1アクティビティ2にあります。

つまり、テキストはTextView1にのみ表示されるはずです。他のテキストビューはありません。はい。

簡単なコード例で私の問題を解決してください。

申し訳ありませんが質問に間違いがありますが、実際にインターネットで質問をするのは初めての試みです。

は限り私は最初の活動でありながら、あなたがUIコンポーネントof2ndアクティビティにアクセスすることはできません知っているあなたに

+0

をクリアしてください場合は、コメントをドロップするようにしてください、ですあなたの唯一のアクティビティ2のテキストビューと2つのボタンはアクティビティ1にあります。 – Hiral

答えて

0

ありがとうございます。そのため、最良の方法は、putExtraのインテントメソッドを介して値を渡し、次にそれを取得して2番目のアクティビティのoncreateでtextviewに設定することです。ここでは、以下のあなたが別のアクティビティにテキストを設定することはできません。この方法

http://mobileorchard.com/android-app-development-using-intents-to-pass-data-and-return-results-between-activities/

+0

恐ろしいチュートリアル... – tiger2003

0

を示しているリンクです。インテントを使用して値を次のアクティビティに渡し、次にアクティビティ2のonCreate()メソッドのインテントからリトライした後にテキストを設定します。

0

あなたはアンドロイドのSharedPreferencesの概念について知っていますか?これを使用すると、この要件を満たすことができます。これは、アプリ内のどこからでも価値を設定し、必要に応じてどこでも同じアプリで使用できるグローバルな場所です。 Activity1で

、Activity2で

SharedPreference s_pref=PreferenceManager.getDefaultSharedPreferences(context); 
Editor edit=s_pref.edit(); 

button1.setOnClick....() 
{ 
    ... onClick() 
    { 
     edit.putString("textview_text","some text"); 
     edit.commit(); 
     /* you can start activity from here 

     Intent intent = new Intent(Activity1.this, Activity2.class); 
     startActivity(intent); 

     */ 
     //even if you don't start activity from here,text changed would be reflected in textView1 when activity2 is loded 
    } 
} 

button2.setOnClick....() 
{ 
    ... onClick() 
    { 
     edit.putString("textview_text","some other text"); 
     edit.commit(); 
     /* you can start activity from here 

     Intent intent = new Intent(Activity1.this, Activity2.class); 
     startActivity(intent); 

     */ 
     //even if you don't start activity from here,text changed would be reflected in textView1 when activity2 is loded 
    } 
} 

... 
SharedPreference s_pref=PreferenceManager.getDefaultSharedPreferences(context); 
Editor edit=s_pref.edit(); 

String text=s_pref.getString("textview_text", "default text"); 
textView1.setText(text); 
... 
+0

ありがとうございました...私は今問題を解決することができます。 – tiger2003

0

ちょっとそのあなたがPutExtrasの助けを借りて値を渡す別のactivity上にあるtextview上のテキストを表示したい場合には非常に簡単getExtrasの助けを借りて値を取得するIntent他のアクティビティを呼び出す

Intent i = new Intent(Insert.this,Select_msg.class); 
    i.putExtra("name", name.getText().toString()); 
     i.putExtra("emailid", emailid.getText().toString()); 
      i.putExtra("contact", contactno.getText().toString()); 
      startActivity(i); 

に1つのアクティビティから値を渡すために、サンプルコードを参照してくださいSelect_msg.class

Intent i = getIntent(); 
    name=i.getStringExtra("name"); 
    email = i.getStringExtra("emailid"); 
    cntct = i.getStringExtra("contact"); 

それだけtextviewに変数にある値という設定you.andのために働くことを願っています。

0

おそらく、テキストビューのテキストやその他のプロパティを設定してリセットできるクラスMyText()を使用できます。あなたがメソッドsetTextView(String text)を持っているし、別の方法がgetText()言うと、グローバル変数がtextVal 第1の方法は第二のtextVal戻りますパラメータとして送信された値、すなわち、textVal = textを設定するかどう

は言います。 今、あなたは、これはあなたの問題を解決しますsetText(MyText.getText)

希望を任意の場所からテキストを設定し、任意の場所から値を取得し、単にユーザーことができ、間違ったIamは...

関連する問題