0

以前に作成した他の 2 つのアクティビティを開くことができる listView を作成しようとしています。意図に問題があります。Lactivity がすでに存在するアクティビティであることを理解していると確信しています。理由を説明していただけますか?

public ListMenu extends Activity {

private ListView malistView;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.list);

    // create list of elements
    List<ElementOfConstruction> liste = new ArrayList<ElementOfConstruction>();

    String Columns = null;
    Class<?> CalculColumns = null;
    ElementOfConstruction columns = new ElementOfConstruction(Columns, 0, R.drawable.columns, CalculColumns, 100);
    liste.add(columns);
    String Beam1 = null;
    Class<?> CalculBeam = null;
    ElementOfConstruction beam1 = new ElementOfConstruction(Beam1, 0, R.drawable.beam1, CalculBeam, 200);

    //Récupération de la listview créée dans le fichier main.xml  
    malistView = (ListView) findViewById(R.id.malistview);

    ArrayAdapter<ElementOfConstruction> adapter = new ArrayAdapter<ElementOfConstruction>(ListMenu.this,
            R.layout.row_list, R.id.name, liste);

    // Affecter l'Adapter à notre ListView
    malistView.setAdapter(adapter);

    malistView.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {

            //On récupère le titre de l'Item dans un ElementOfConstruction


            //start new activity
            //récupération de l’item sélectionné
            ElementOfConstruction element = (ElementOfConstruction)malistView.getAdapter().getItem(position);

            Class<?> Lactivity = element.getActivity();
            int numIdentification = element.getNumIdentification();

            //open a new activity
            Intent intent = new Intent(ListMenu.this, Lactivity.class);
            startActivityForResult(intent,numIdentification);
        }
    });
}}
4

2 に答える 2

0

これを試すことができます:

`malistView.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
       switch(position)
       {
          case 0:
             intentActivity = Lactivity.class
             break;
          case 1:
             intentActivity = Otheractivity.class
             break;
       }


        //open a new activity
        Intent intent = new Intent(ListMenu.this, Lactivity);
        startActivityForResult(intent,numIdentification);



    }
});`
于 2013-08-26T12:43:40.453 に答える