2017-03-03 21 views
0

嗨,我是新来的,所以我需要你的帮助。 每当我点击一个listView位置,我想膨胀一个活动 ,并根据它的位置,我想用不同的图像和文本填充布局。这是代码..感谢您的帮助创建新的活动,并使用不同的资源填充

public class WalkFragment extends Fragment { 


public WalkFragment() { 
    // Required empty public constructor 
} 


@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    final View rootView = inflater.inflate(R.layout.word_list, container, false); 

    final ArrayList<word> walk = new ArrayList<>(); 

    walk.add(new word("Παλιά Πόλη", "Περπάτημα", R.drawable.old_town)); 
    walk.add(new word("Φορτέτζα", "Περπάτημα", R.drawable.forteza)); 
    walk.add(new word("Παραλία", "Περπάτημα", R.drawable.paralia)); 
    walk.add(new word("Δημοτικός Κήπος", "Περπάτημα", R.drawable.khpos)); 
    walk.add(new word("Περιφεριακό", "Περπάτημα", R.drawable.periferiakos)); 


    final WordAdapter adapter = 
      new WordAdapter(getActivity(), walk); 


    final ListView listView = (ListView) rootView.findViewById(R.id.list); 


    listView.setAdapter(adapter); 


    // Set a click listener to inflate and populate the place_layout and InfoActivity 
    // with a string from strings.xml and an image from drawable 
    // when the list item is clicked on 
    // the imageView is mImageView and textView is mTextView that i need to 
    // populate each time i click on a different position in the listView 
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { 

      if (position == 0) { 

       Intent infoActivity = new Intent(getContext(), InfoActivity.class); 





       startActivity(infoActivity); 

      } else if (position == 1) { 

       Intent infoActivity = new Intent(getContext(), InfoActivity.class); 


       startActivity(infoActivity); 

      } 


     } 
    }); 


    return rootView; 
} 

} 
+0

请谅解se搜索你的方法,你会得到解决方案的例子和解释 –

回答

0
  1. 创建为您的活动的ImageView的和TextView的.xml文件。

  2. 您onItemClick内取代一切有以下几点:

    Intent infoActivity = new Intent(getContext(), InfoActivity.class); 
    intent.putExtra("position", position); 
    startActivity(infoActivity); 
    
  3. 里面的onCreate InfoActivity的()补充一点:

    int position = getIntent().getIntExtra("position", -1); 
    switch (position){ 
        case 0: 
         //set resources for imageview & textview 
         break; 
    
        case 1: 
         //set resources for imageview & textview 
         break; 
    
        . 
        . 
        . 
        . 
    
    
        default: 
         //set resources for imageview & textview 
         break; 
    } 
    
+0

随意问任何有关代码的问题! :) –

+0

嘿,它很好,谢谢你,祝你有美好的一天! – Vavouris

+0

欢迎!请将我的答案标记为已接受。 :) –

0

请参考此答案

 listview.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) { 



       switch (position) 
       { 
        case 0: 
         Intent infoActivity = new Intent(getContext(), InfoActivity.class); 
         intent.putExtra("position", position); 
         startActivity(infoActivity); 

         break; 
        case 1: 
         Intent infoActivity = new Intent(getContext(), SecondActivity.class); 
         intent.putExtra("position", position); 
         startActivity(infoActivity); 
         break; 
        case 2: 
         Intent infoActivity = new Intent(getContext(), ThirdActivity.class); 
         intent.putExtra("position", position); 
         startActivity(infoActivity); 
         break; 
        case 3: 
         Intent infoActivity = new Intent(getContext(), FourthActivity.class); 
         intent.putExtra("position", position); 
         startActivity(infoActivity); 
         break; 
        default: 
         //set resources for imageview & textview 
         break; 

       } 

      } 
     }); 
+0

谢谢!我会按照我的方式去做。 – Vavouris

+0

欢迎光临!伙计... –