2017-11-02 2 views
0

리스트 뷰 버튼으로 활동을 열려고합니다. 이 코드는 오류가 아니지만 열리지 않습니다. 가능한 한 Google 전체에서 검색했지만 나에게 도움이되지는 않았습니다. 여기 나는 목록보기 버튼을 사용하여 cutomlistadapter에서 Android 활동을 열려고합니다. 나는 최고의 결과를 얻었지만 아무런 결과도 얻지 못했습니까?

당신의 코드는 제 1 및 제 2 항목에서만 작동 MainActivity

public class MainActivity extends AppCompatActivity { 

    private static final String TAG = "MainActivity"; 
    private ListView listView; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.listview_layout); 
     listView = (ListView)findViewById(R.id.listView); 


     final ArrayList<Card> list = new ArrayList<>(); 
     list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.uki,"Test one")); 
     list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.beach1,"Beach")); 
     list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.bonfire,"Bon Fire")); 
     list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.forests1,"Forest")); 
     list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.frogs,"Frogs")); 
     list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.heavyrain,"Heavy Rain")); 
     list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.insects,"Insects")); 
     list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.lightning,"Lightning")); 
     list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.underwater,"Under Water")); 
     list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.windstrome,"Wind Storme")); 

     CustomListAdapter adapter = new CustomListAdapter(this,R.layout.activity_main,list); 
     listView.setAdapter(adapter); 
     listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       if (position==0){ 
         Intent intent = new Intent(view.getContext(), TestoneActivity.class); 
         startActivityForResult(intent,0); 
       } 
       else if (position == 1) 
       { 
        Intent intent = new Intent(view.getContext(),BeachActivity.class); 
        startActivityForResult(intent,1); 
       } 
      } 
     }); 

    } 
} 
+0

당신이 메서드가 호출되지 않았거나 onItemClick()를 확인 그래서, 다음과 같은 변경해야? –

+0

startActivity (new Intent (view.getContext(), TestoneActivity.class)))를 사용하여 if/else를 제거하고 깨끗한 코드 블록을 시도하십시오. – pablopatarca

+0

@pablopatarca 총 9 가지 활동이 있습니다. –

답변

0

입니다.

if (position==0){ 
    // first    
} 
else if (position == 1) { 
    // second    
} 
2

활동 컨텍스트로 인 텐트를 만들어야합니다.

Intent intent = new Intent(view.getContext(), TestoneActivity.class); 
startActivityForResult(intent,0); 

에 :

Intent intent = new Intent(MainActivity.this, TestoneActivity.class); 
startActivityForResult(intent,0);