Java 创建新活动并使用不同的资源填充它

Java 创建新活动并使用不同的资源填充它,java,android,listview,Java,Android,Listview,嗨,我是新来的,所以我需要你的帮助。 每次单击listView位置时,我都希望对活动进行充气 根据其位置,我不需要用不同的图像和文本填充布局。这是密码。。谢谢你的帮助 public class WalkFragment extends Fragment { public WalkFragment() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater

嗨,我是新来的,所以我需要你的帮助。 每次单击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;
}

}
公共类WalkFragment扩展了片段{
公共广播片段(){
//必需的空公共构造函数
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
最终视图根视图=充气机。充气(R.layout.word\u列表,容器,false);
最终ArrayList遍历=新建ArrayList();
增加(新词(∏αλιά∏λη”,“περπάτημα”,R.drawable.old_town));
walk.add(新词(“Φορτέτζα”,“περππτημα”,R.drawable.forteza));
walk.add(新词(∏αραλα”,“περπατημα”,R.drawable.paralia));
添加(新词(“ΔημοτικόΚήπος”,“περπάτημα”,R.drawable.khpos));
walk.add(新词(∏εριφεριακό”,“περπάτημα”,R.drawable.periferiakos));
最终字适配器=
新的WordAdapter(getActivity(),walk);
最终ListView ListView=(ListView)rootView.findViewById(R.id.list);
setAdapter(适配器);
//设置一个单击侦听器以膨胀并填充place_布局和InfoActivity
//使用strings.xml中的字符串和drawable中的图像
//单击列表项时
//imageView是mImageView,textView是我需要的mTextView
//每次单击listView中的不同位置时填充
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共虚线单击(AdapterView AdapterView,视图视图,内部位置,长l){
如果(位置==0){
Intent infoActivity=newintent(getContext(),infoActivity.class);
星触觉(信息活动);
}否则如果(位置==1){
Intent infoActivity=newintent(getContext(),infoActivity.class);
星触觉(信息活动);
}
}
});
返回rootView;
}
}
  • 为活动创建带有ImageView和TextView的.xml文件

  • 用以下内容替换Onite McClick中的所有内容:

    Intent infoActivity = new Intent(getContext(), InfoActivity.class);
    intent.putExtra("position", position);
    startActivity(infoActivity);
    
  • 在InfoActivity的onCreate()中添加以下内容:

    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;
    }
    

  • 请参考此答案

         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;
    
                    }
    
                }
            });
    
    listview.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
    @凌驾
    public void onItemClick(AdapterView AdapterView,视图视图,整型位置,长id){
    开关(位置)
    {
    案例0:
    Intent infoActivity=newintent(getContext(),infoActivity.class);
    意图。额外(“位置”,位置);
    星触觉(信息活动);
    打破
    案例1:
    Intent infoActivity=newintent(getContext(),SecondActivity.class);
    意图。额外(“位置”,位置);
    星触觉(信息活动);
    打破
    案例2:
    Intent infoActivity=newintent(getContext(),ThirdActivity.class);
    意图。额外(“位置”,位置);
    星触觉(信息活动);
    打破
    案例3:
    Intent infoActivity=newintent(getContext(),FourthActivity.class);
    意图。额外(“位置”,位置);
    星触觉(信息活动);
    打破
    违约:
    //设置imageview和textview的资源
    打破
    }
    }
    });
    
    请随时提出与代码相关的任何问题!:)请搜索您的方法,您将获得带有示例和解释的解决方案