마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

액티비티 전환에 관해서

0 추천
액티비티 A,B,C가 있구요.

A는 사용자 정보를 입력받는 액티비티(입력값들은  DB에 저장되구요)

B는 입력받은 정보들 목록을 보여주는 액티비티(리스트뷰)

C는 리스트 각 항목의 항목당 세부사항을 보여주는 액티비티에요.

질문하고 싶은건요 이미 회원가입을 한 사용자에게는 다음에 회원가입창이 뜨지 않는것 처럼

 B에 하나라도 항목이 있다면 A를 건너뛰고 바로 B로 건너갈수 있게 하고싶은데요

어떻게 해야 할까요..

/////    A 액티비티

 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.add_com);
       
        editText_name=(EditText) findViewById(R.id.editText_name);
        editText_ip=(EditText) findViewById(R.id.editText_ip);
        btnSave=(Button) findViewById(R.id.btnSave);

       
        btnSave.setOnClickListener(new OnClickListener() {
   public void onClick(View v) {
     
    intent=new Intent(Ip_Add.this, listViewActivity.class);
    intent.putExtra("name", editText_name.getText().toString());
    intent.putExtra("ip", editText_ip.getText().toString());
    editText_name.setText("");
    editText_ip.setText("");
    startActivityForResult(intent, 0);

           
   }
  });

/////    B액티비티

public class listViewActivity extends Activity {
  private DBAdapter mDb;
  private ArrayList<Info> mInfo;
  private ArrayAdapter<Info> mAdapter;
    
  ListView listView;
  Intent intent;
 
 
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.listview);
    

        listView=(ListView) findViewById(R.id.listView);
              
        intent=getIntent();
       
       mDb = new DBAdapter(this);
        mInfo = mDb.getAllInfo();
        mAdapter = new ArrayAdapter<Info>(this, android.R.layout.simple_list_item_1, mInfo);
        listView.setAdapter(mAdapter);
       
        mDb.insertInfo(intent.getStringExtra("name").toString(), intent.getStringExtra("ip").toString());
        refreshList();
       
        /* 리스트뷰 클릭시 인텐트호출 */
        listView.setOnItemClickListener(new OnItemClickListener() {
   public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    intent=new Intent(listViewActivity.this, SubActivity.class);
    intent.putExtra("name", mInfo.get(position).getNameing());
    intent.putExtra("ip", mInfo.get(position).getIp());
    startActivity(intent);
   }
  });
익명사용자 님이 2013년 5월 30일 질문

2개의 답변

0 추천
SharedPreferences를 이용하면 될거같네요

단말기에 값을 저장해서 원할때 불러올수있습니다.

원하는 조건에서의 flag를 하나 저장해주고 그 flag를 이용하면 원하는 결과를 얻을수 있겠네요
적유 (1,760 포인트) 님이 2013년 5월 30일 답변
0 추천
A 를 호출하는 또다른 액티비티는 없나요?

정보가 없으면 A 를 호출하고 정보가 있으면 B 를 호출하면 될꺼같은데..
블랙넥원 (9,600 포인트) 님이 2013년 5월 30일 답변
아. 그러면 돼겟네요.
DB의 ID값이 있으면 B로,, 없으면 A로 가게 하고싶은데
다른 클래스에있는 ID값을 어떻게 받아올수 있나요
ID 값을 뭘로 사용하시는거죠?
전화번호? 무언가 고유한 키로 사용하신다면
그 값을 이용해서 DB 에서 꺼내보시면 될꺼같은데요..
...