我有一个小部件和一个活动,当我开始活动时,我必须从小部件的TextView中读取文本并将其显示在活动的TextWidget中。
我的相关代码:
String frase="";
TextView text_frase = (TextView) findViewById(R.id.widget_textview_frase);
if (text_frase != null){
frase = (String) text_frase.getText();
}
Log.v(LOG_CLASS_NAME, "frase: "+frase);
调试它 - 我有text_frase
为null(我想我不能从另一个视图引用一个视图对象。)无论如何,我怎么能这样做?
答案 0 :(得分:4)
:
Intent intent = new Intent(context, YourActivity.class);
Bundle b= new Bundle();
b.putString("Text", yourtext);
intent.putExtras(b);
PendingIntent pendingIntent = PendingIntent.getActivity(context, appWidgetId, intent, PendingIntent.FLAG_CANCEL_CURRENT);
在您的活动中:
Intent intent=getIntent();
Bundle b= intent.getExtras();
String text= b.getString("Text", "");
在您的情况下,我建议使用方法1.
答案 1 :(得分:0)
您可能希望通过在TextView上使用.toString()方法来获取实际的String。
String frase;
TextView text_frase = (TextView) findViewById(R.id.widget_textview_frase);
if (text_frase.getText().toString() != null){
frase = (String) text_frase.getText().toString();
Log.v(LOG_CLASS_NAME, "frase: "+frase);
}