2012-03-17 5 views
4

質問があります。以前はウィジェットをデザインしコーディングするためにすべてをやっていました。今私は私のウィジェットにボタンとテキストビューを持っています。私は自分のボタンをクリックしたときに、テキストをインテントのために余分なものとしてテキスト表示に入力し、そのインテントを開始したい。/100をマーク/私は余分としての私のtextviews'テキストを入れたいアンドロイドプログラミングのウィジェットに配置されたテキストビューのテキストを取得する方法

@Override 
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, 
      int[] appWidgetIds) { 
     super.onUpdate(context, appWidgetManager, appWidgetIds); 
     for (int i=0;i<appWidgetIds.length;i++){ 
      int awID=appWidgetIds[i]; 
      RemoteViews v=new RemoteViews(context.getPackageName(),R.layout.widgetshow); 
. 
. 
. 

      Intent in = new Intent("my.app.NOTEEDITOR"); 
      Bundle basket = new Bundle(); 
     */100*/ basket.putString("textViewText", "test"); 
      in.putExtras(basket); 
      PendingIntent pi = PendingIntent.getActivity(context, 0, in, 0); 
      v.setOnClickPendingIntent(R.id.button, pi); 

      appWidgetManager.updateAppWidget(awID, v); 
. 
. 
. 
     } 
    } 

が、行に:私は、次のコードでこれを行うことができます。私はウィジェットのボタンをクリックすると、そのボタンをクリックしたウィジェットに配置されたtextviewの余分なテキストを含むアクティビティを開始します。私のひどい英語を話す

+0

可能な複製[アンドロイドホームウィジェットのTextViewのテキストを取得します(アクティビティではありません)?](http://stackoverflow.com/questions/11237217/get-text-of-a-textview- in-android-home-widget-in-activity) –

答えて

-2

更新のための

申し訳ありませんが、みんなはあなたのコード:

@Override 
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, 
      int[] appWidgetIds) { 
     super.onUpdate(context, appWidgetManager, appWidgetIds); 
     for (int i=0;i<appWidgetIds.length;i++){ 
      int awID=appWidgetIds[i]; 
      RemoteViews v=new RemoteViews(context.getPackageName(),R.layout.widgetshow); 


      Intent in = new Intent(paramContext, Caller2.class); ///Activity name Caller2.class you want to start 
      Bundle basket = new Bundle(); 
      TextView txt=(TextView)findViewbyId(R.id.txtid); 
      String test = tx.getText().toString(); 
      basket.putString("textViewText", test); 
      in.putExtras(basket); 
      PendingIntent pi = PendingIntent.getActivity(context, 0, in, 0); 
      v.setOnClickPendingIntent(R.id.button, pi); 
      appWidgetManager.updateAppWidget(awID, v); 

     } 
    } 

詳細なヘルプについては、あなたがあなたのウィジェット内のTextViewのテキストを取得する必要はありませんWidget is clicked

+0

tnx imrankhanです。私は前にこのコードを使用していますが、ユーザーのfindViewByIdではこのメソッドが検出されませんでした。 – aTa

0

参照してください。どうして? TextViewのテキストが別の場所で変更され、この変更がウィジェットに適用されるためです。 たとえば、ユーザーはアクティビティ内のテキストを変更できます。新しいテキストをウィジェットに表示するには、SharedPreferencesに保存してウィジェットに取り込むことができます。

Refer to here for more details.

+0

お返事ありがとうございます。しかし、あなたのリフレクションは私の問題ではありません。私はウィジェットで私は今テキストビューのテキストが次に余分に、そして次にインテントに入れられていません。私のtextof textviewはダイナミックで、私はこの時点で何がウィジェットでtextviewに表示されているのかわかりません – aTa

+0

私はtextviewからテキストを取得してからインテントに入れなければなりません – aTa

+0

私はあなたが間違っていると思います。 TextViewのテキストは他の場所から来ています。あなたはウィジェットのテキストを知ることができませんか?前に見たすべてのウィジェットで、テキストがアクティビティで変更され、ウィジェットに適用されます。 – Mbt925

0

私はあなたと同じ問題を抱えています。そして、アタのような人は、私の予想されるものが正確に何かを知りません。また、sharedPreferenceを使用して、アンドロイドホームウィジェットを配置したTextViewのデータを保存し、そのアクティビティからデータを取得できることをお勧めします。これはチートです

関連する問題