안드로이드 개발 질문/답변
(글 수 45,052)
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(
AdapterView<?> parent, View view, int position, long id) {
final long deletePetId = id;
final String url = DeliverAdapt.KEY_PURL.toString();
new AlertDialog.Builder(List.this)
.setTitle("정보 상세조회 / 삭제")
.setMessage("상세조회 / 삭제 버튼을 선택해주세요")
.setPositiveButton("상세조회", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(List.this, Webview.class);
intent.putExtra("URL",url);
startActivityForResult(intent,1); // Sub_Activity 호출
}
위 소스는 탭으로 구성된 LIST클래스에서 한 부분입니다.
위처럼 상세조회버튼을 누르면 WEBVIEW 클래스를 불러오고 DB에 있는 URL을 불러와서 보내주는데,
이게 맞는지.. ㅠ 일단 시나리오는 그런데, ㅠ
public class Webview extends Activity {
WebView webview;
public String url;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
Bundle extra = getIntent().getExtras();
if(extra!=null){
url = (String) extra.getString(DeliverAdapt.KEY_PURL);
}
webview = (WebView)findViewById(R.id.webview1);
webview.setWebViewClient(new myWebViewClient());
webview.getSettings().setJavascriptEnabled(true);
webview.loadUrl(url);
}
private class myWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
이처럼 각 클래스가 따로 구성되어 인텐트를 주고 받아서 선택된 리스트 항목의 URL 주소를 주고받으며
웹뷰에서 열어주려고합니다. ㅠ
근데 제가 어디서 잘못된것인지, 열리지가 않습니다
오류는 없는데, 값을 못 받아오는것인지 ㅠㅠ
고수분들 조언좀 해주세요.. ㅠ
1주일째 삽질중.. ㅠ
public void onItemClick(
AdapterView<?> parent, View view, int position, long id) {
final long deletePetId = id;
final String url = DeliverAdapt.KEY_PURL.toString();
new AlertDialog.Builder(List.this)
.setTitle("정보 상세조회 / 삭제")
.setMessage("상세조회 / 삭제 버튼을 선택해주세요")
.setPositiveButton("상세조회", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(List.this, Webview.class);
intent.putExtra("URL",url);
startActivityForResult(intent,1); // Sub_Activity 호출
}
위 소스는 탭으로 구성된 LIST클래스에서 한 부분입니다.
위처럼 상세조회버튼을 누르면 WEBVIEW 클래스를 불러오고 DB에 있는 URL을 불러와서 보내주는데,
이게 맞는지.. ㅠ 일단 시나리오는 그런데, ㅠ
public class Webview extends Activity {
WebView webview;
public String url;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
Bundle extra = getIntent().getExtras();
if(extra!=null){
url = (String) extra.getString(DeliverAdapt.KEY_PURL);
}
webview = (WebView)findViewById(R.id.webview1);
webview.setWebViewClient(new myWebViewClient());
webview.getSettings().setJavascriptEnabled(true);
webview.loadUrl(url);
}
private class myWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
이처럼 각 클래스가 따로 구성되어 인텐트를 주고 받아서 선택된 리스트 항목의 URL 주소를 주고받으며
웹뷰에서 열어주려고합니다. ㅠ
근데 제가 어디서 잘못된것인지, 열리지가 않습니다
오류는 없는데, 값을 못 받아오는것인지 ㅠㅠ
고수분들 조언좀 해주세요.. ㅠ
1주일째 삽질중.. ㅠ
2010.03.03 09:43:24
인텐트에 url 넣으실 때는 intent.putExtra("URL",url);로 하시고,
사용하실 때는 url = (String) extra.getString(DeliverAdapt.KEY_PURL); 하셨는데
getStrig("URL") 로 쓰셔야 하는것 아닌가요?
2010.03.03 10:57:57
컨버전스님
아 거기서 잘못되었네요. ㅠ
final String url = DeliverAdapt.KEY_PURL.toString();
근데 이 부분 때문인지, 해당 DB에 있는 내용을 가져 오지를 않고, PURL 이라는 이름만을 가져옵니다 purl칼럼 속에 있는
내가 클릭하는것이 속한 url db값을 가져와야하느데 ㅠ
저 부분을 어떻게 선언해야하죠 ㅠ
db클래스부분에,
public Cursor fetchRow(long rowId) throws SQLException {
Cursor mCursor = mDb.query(
true,
DATABASE_TABLE,
new String[] {KEY_ROWID,KEY_PURL},
KEY_ROWID + "=" + rowId,
null,null, null, null, null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
이렇게 선언하고 이걸 어떻게 이용하면 될것 같은데,
어떻게 변환하고 어떻게 대입해야할지 ㅠㅠ
조언부탁드립니다.