0
SMS 위젯 용 코드를 작성하려고합니다. 나는 컴파일 할 수있는 것을 썼고, 첫 번째 SMS를 화면에 인쇄했다. 다음을 클릭하면 아무 일도 일어나지 않습니다. 이 내 코드입니다 : 내가 틀렸다 왜 누군가가 나에게 설명 할 수있는 경우Android 위젯에 버튼 만들기
package android.MySMSwidget;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RemoteViews;
import android.content.ComponentName;
import android.content.Context;
import android.database.Cursor;
import android.app.*;
public class MySMSwidget extends AppWidgetProvider implements View.OnClickListener {
private Button Bnext;
private int sms_id=0;
public class MyActivity extends Activity {
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.widget_layout);
final Button button = (Button) findViewById(R.id.next);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (v==Bnext){sms_id=sms_id+1;}
}
});
}
}
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
Cursor c = context.getContentResolver().query(Uri.parse("content://sms/"), null, null ,null,null);
String body = null;
String number = null;
String date = null;
c.moveToPosition(sms_id);
body = c.getString(c.getColumnIndexOrThrow("body")).toString();
number = c.getString(c.getColumnIndexOrThrow("address")).toString();
date = c.getString(c.getColumnIndexOrThrow("date")).toString();
c.close();
RemoteViews updateViews = new RemoteViews(context.getPackageName(),
R.layout.widget_layout);
updateViews.setTextColor(R.id.text, 0xFF000000);
updateViews.setTextViewText(R.id.text,date+'\n'+number+'\n'+body);
ComponentName thisWidget = new ComponentName(context, MySMSwidget.class);
appWidgetManager.updateAppWidget(thisWidget, updateViews);
}
public void onClick(View v) {
if (v==Bnext){sms_id=sms_id+1;}
}
}
어디에, 나는 감사 할 것입니다. 나를 읽어 주셔서 감사합니다.