2014-01-20 5 views
1

여기에 질문이 있지만 답변이 상당히 혼란 스럽습니다. 내 ListView에 3 개의 항목이 있습니다. 그들은 "알루미늄", "금"및 "아연"입니다. 그들 각각을 통해 나는 다른 활동을 시작하고 싶다. 그래서 나는 "Aluminium.java", "Gold.java"및 "Zinc.java"라는 3 가지 활동을 만들었습니다.선택한 항목 가져 오기 - ListView Android

이것을 사용했습니다 ListView 탐색 서랍의 경우 drawer layout입니다. 나는 사이트에서 가져온 코드를 통해 탐색 서랍을 구현했습니다.이 코드는 조각을 변경하고 제대로 작동하지 않습니다. 단편 대신 활동을 전환하고 싶습니다. 탐색 서랍에서 목록보기를 통해 활동 사이

  1. 스위치 :

    나는 3 일을 달성하고 싶다.

  2. 포인트 1을 달성하려면 클릭 된 목록 항목을 가져온 다음 인 텐트를 사용하고 싶습니다.
  3. 3 개의 모든 활동에이 탐색 창을 넣기를 원합니다.

죄송합니다. 너무 바보 같지만 초보자입니다. 코드를 도와주세요.

자바 코드

public class MainActivity extends FragmentActivity { 
final String[] data ={"Aluminium","Gold","Zinc"}; 
final String[] fragments ={ 
     "com.Chinmay.navigationdrawer.Gold", 
     "com.Chinmay.navigationdrawer.Aluminium", 
     "com.Chinmay.navigationdrawer.Zinc"}; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data); 

    final DrawerLayout drawer = (DrawerLayout)findViewById(R.id.drawer_layout); 
    final ListView navList = (ListView) findViewById(R.id.left_drawer); 
    navList.setAdapter(adapter); 
    navList.setOnItemClickListener(new AdapterView.OnItemClickListener(){ 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, final int pos,long id){ 

      drawer.setDrawerListener(new DrawerLayout.SimpleDrawerListener(){ 
       @Override 
       public void onDrawerClosed(View drawerView){ 
        super.onDrawerClosed(drawerView); 
        android.support.v4.app.FragmentTransaction tx = getSupportFragmentManager().beginTransaction(); 
        tx.replace(R.id.content_frame, Fragment.instantiate(MainActivity.this, fragments[pos])); 
        tx.commit(); 
       } 
      }); 
      drawer.closeDrawer(navList); 
      android.support.v4.app.FragmentTransaction tx = getSupportFragmentManager().beginTransaction(); 
      tx.replace(R.id.content_frame,Fragment.instantiate(MainActivity.this, fragments[0])); 
      tx.commit(); 
     } 
    }); 
} 

}

+1

을, 항목을 클릭 리스너를 설정 아연? – Srikanth

+0

사실 저는 조각을 3 가지 활동으로 여는 것을 원하지 않습니다. –

+0

사실, 코드에서 조각을 사용하고 있습니다 ... – Srikanth

답변

1

하는 것은 기본 활동 클래스를 확인하고이 모든 서랍 코드를 삽입하고, 그런 식으로, 당신의 3 활동이 기본 클래스를 확장, 당신은거야 당신의 모든 활동을위한 서랍이 있습니다. 딸깍 부분에 대한

class Gold extends BaseActivity{ 
} 

, 당신은 이미 왜 1 개 기본 활동 알루미늄, 금 3 개 조각으로 탐색 서랍을 구현하는이 단지 스위치 케이스 등

switch (pos){ 
    case 0: 
     Intent i = new Intent(this,Gold.java); 
     startActivity(i); 
     break; 
    } 
// fill the rest 
} 
+0

하지만 사용자가 금이나 알루미늄 또는 아연을 클릭했는지 어떻게 알 수 있습니까? –

+0

3 항목이기 때문에, 0이 Gold, 1이 Aluminum 등임을 이미 알고있는 위치를 사용할 수도 있고, MenuItem과 같은 내부 클래스를 만들어서 알루미늄임을 정의하는 변수를 넣거나 텍스트 등을 볼 수 있습니다. 이것을 달성하는 데는 여러 가지 방법이 있습니다. 당신에게 달려 있습니다. –

+0

실제로 119 개의 항목이 있습니다! 3으로 끝났고 서랍 레이아웃 상단에 검색 창을 추가하여 검색 기능을 추가 할 예정입니다. 따라서 항목 순서가 변경됩니다. 나는 지금 무엇을해야합니까? –

관련 문제