마스터Q&A
접속유지
가입하기
안드로이드 Q&A
최근 질문
미답변 질문
태그
사용자
질문하기
마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다.
안드로이드펍
에서 운영하고 있습니다. [
사용법
,
운영진
]
인기있는 태그
초보어플개발
(3427)
안드로이드스튜디오
(2664)
안드로이드-초보어플개발
(1333)
안드로이드-스튜디오
(1086)
도와주세요-
(995)
이미지
(970)
listview
(866)
리스트뷰
(844)
오류
(805)
레이아웃
(693)
fragment
(675)
webview
(670)
안드로이드 위젯 리스트
0
추천
안드로이드에서 위젯에 리스트뷰까지는 구현했는데요..
액티비티가 아닌 위젯에서 리스트 뷰를 구현하다 보니 어려운 점이 많네요 ㅠㅠ
위젯에서 리스트 뷰의 각각의 리스트 아이템??(한줄)을 클릭했을때의 이벤트 예제를 구할수 있을까요?ㅠㅠ
부탁드려요(방법이라도 조언해주시면 감사합니다....ㅠ)
안드로이드
위젯
안드로이드_리스트뷰
이벤트
앤드로이등
(
170
포인트)
님이
2014년 11월 7일
질문
소스 첨부좀해주세요~~
import java.util.Vector;
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.RemoteViews;
import android.widget.RemoteViewsService;
import com.everysoft.autoanswer.R;
public class AnnivListWidget extends AppWidgetProvider {
public AnnivListWidget() {
}
public void onDeleted(Context context) {
}
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
for (int i = 0;i<appWidgetIds.length;i++) {
RemoteViews rv = new RemoteViews(context.getPackageName(), R.layout.annivlistwidget);
Intent intent = new Intent(context, AnnivListWidgetService.class);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetIds[i]);
rv.setRemoteAdapter(R.id.annivlist, intent);
rv.setEmptyView(R.id.annivlist, R.id.emptyview);
appWidgetManager.updateAppWidget(appWidgetIds[i], rv);
}
super.onUpdate(context, appWidgetManager, appWidgetIds);
}
public static class AnnivListWidgetService extends RemoteViewsService {
public RemoteViewsFactory onGetViewFactory(Intent intent) {
return new AnnivListFactory(this.getApplicationContext(), intent);
}
}
}
class AnnivListFactory implements RemoteViewsService.RemoteViewsFactory {
Context mContext;
int mAppWidgetId;
Vector<String> data = new Vector<String>();
Vector<String> link = new Vector<String>();
public AnnivListFactory(Context context, Intent intent) {
mContext = context;
mAppWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
}
private final Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
Log.v("핸들러", "업데이트");
listUpdate();
}
private void listUpdate() {
// TODO Auto-generated method stub
onDataSetChanged();
}
};
public void onCreate() {
wiget_parsing wp = new wiget_parsing(mContext,handler, data, "
http://www.naver.com/?mobile",
link);
wp.open();
}
public void onDestroy() {
}
public int getCount() {
return data.size();
}
public long getItemId(int position) {
return position;
}
public int getViewTypeCount() {
return 1;
}
public RemoteViews getLoadingView() {
return null;
}
public RemoteViews getViewAt(int position) {
RemoteViews rv = new RemoteViews(mContext.getPackageName(), R.layout.annivlistwidgetitem);
rv.setTextViewText(R.id.annivtext, data.get(position));
Intent intent = new Intent();
Bundle extras = new Bundle();
extras.putString("word",data.get(position));
intent.putExtras(extras);
rv.setOnClickFillInIntent(android.R.id.text1, intent);
String intentlink = link.get(position);
Uri uri = Uri.parse(intentlink);
Intent it = new Intent(Intent.ACTION_VIEW,uri);
it.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(it);
return rv;
}
public boolean hasStableIds() {
return true;
}
public void onDataSetChanged() {
}
}
Please
log in
or
register
to add a comment.
답변 달기
·
글에 소스 코드 보기 좋게 넣는 법
·
질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
답변이 채택되거나 답변에 댓글이 달리면 이메일로 알려드립니다:
답변이 채택되거나 댓글이 달리면 이메일로 알려드립니다
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면
로그인
하거나 혹은
가입
하세요.
...