2012-03-17 40 views
4

我有一個問題。我之前做過所有的設計和編碼小部件。現在我在我的小部件中有一個按鈕和一個textview。我想當我點擊我的按鈕時,我的文本輸入在TextView中作爲額外的意圖,然後開始意圖。我可以用下面的代碼做到這一點:如何在android編程中獲取放置在小部件上的textview文本

@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); 
. 
. 
. 
     } 
    } 

但行標/100 /我希望把我的textviews'文本作爲額外的費用。我希望當我點擊小部件中的按鈕時,該按鈕上的一個額外的包含Textview的文本被放置在小部件上,我點擊了它的按鈕。

我可怕的講英語的

+0

可能重複的[獲取文本的android家庭小部件(不在活動中)的TextView?](http://stackoverflow.com/questions/11237217/get-text-of-a-textview- in-android-home-widget-not-in-activity) – 2015-05-28 01:20:47

回答

-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); 

     } 
    } 

更多的幫助看到Widget is clicked

+0

tnx imrankhan。我之前使用此代碼,但當我用戶findViewById它沒有檢測到這種方法! – aTa 2012-03-17 08:24:56

0

你並不需要得到你的插件的TextView的文本。爲什麼?因爲TextView的文本會在另一個地方改變,然後這個改變將適用於小部件。例如,用戶可以更改活動中的文本。爲了在小部件中顯示新文本,可以將其保存在SharedPreferences中並將其提取到小部件中。

Refer to here for more details.

+0

謝謝你的回答。但你的意見不是關於我的問題。我在小部件中,我現在不用什麼文本視圖的文本,然後把額外的和接下來的意圖。我textof textview是動態的,我不知道在這個時候什麼顯示在小部件上的文本視圖 – aTa 2012-03-18 07:02:21

+0

我必須從textview中獲取文本,然後將其置於意圖 – aTa 2012-03-18 07:04:53

+0

我認爲你錯了。 TextView中的文本來自其他地方。你怎麼不知道小部件上的文字?在我之前看到的所有小部件中,文本都在一個活動中更改,然後應用於小部件。 – Mbt925 2012-03-18 14:36:06

0

我和你有同樣的問題。像aTa這樣的人不知道我預期的事情到底是什麼。而且我建議你可以使用sharedPreference來保存放置在你的android home widget上的TextView的數據,然後你的活動從它獲取數據。這是一個作弊

相關問題