0

このエラーを修正しようとしているコード iv に問題がありますが、まだ運がありません。リスト ビューのアイテムがクリックされたときに新しいアクティビティを開始したいのですが、しばらく探していたところ、このコードが見つかりました

  public void onItemClick(AdapterView<?> parent, View view,
  int position, long id) {
  switch( position )
  {
   case 0:  Intent newActivity = new Intent(this, superleague.class);     
            startActivity(newActivity);
            break;
   case 1:  Intent newActivity = new Intent(this, youtube.class);     
            startActivity(newActivity);
            break;
   case 2:  Intent newActivity = new Intent(this, olympiakos.class);     
            startActivity(newActivity);
            break;
   case 3:  Intent newActivity = new Intent(this, karaiskaki.class);     
            startActivity(newActivity);
            break;
   case 4:  Intent newActivity = new Intent(this, reservetickets.class);     
            startActivity(newActivity);
            break;
     }
    }

これをプロジェクトに配置し、問題のある場所に配置しましたが、これに慣れていないため、小さな問題を修正するのに時間がかかります。

 package com.mybasicapp;

  import android.app.Dialog;
  import android.app.ListActivity;
  import android.content.DialogInterface;
  import android.content.DialogInterface.OnCancelListener;
  import android.content.DialogInterface.OnDismissListener;
  import android.content.Intent;
  import android.os.Bundle;
  import android.view.View;
  import android.widget.AdapterView;
  import android.widget.AdapterView.OnItemClickListener;
  import android.widget.ArrayAdapter;
  import android.widget.Button;
  import android.widget.ImageButton;
  import android.widget.ListView;
  import android.widget.Toast;

  public class menu extends ListActivity implements onListItemClickListner{


  ImageButton ImagebuttonOpenDialog;

   String KEY_TEXTPSS = "TEXTPSS";
   static final int CUSTOM_DIALOG_ID = 0;

    ListView dialog_ListView;

    String[] listContent = {
 "FORD", "BMW", "AUDI", "JAGUAR",
 "MERCEDES", "RENAULT", "ROVER", "SAAB", "BENTLEY",
 "VOLVO", "VAUXHALL", "SEAT"};


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

  ListView lv = getListView();
  lv.setTextFilterEnabled(true);

  lv.setOnListItemClickListener(new OnListItemClickListener() {
  public void onListItemClick(AdapterView<?> parent, View view,
          int position, long id) {
        switch( position )
        {
           case 0:  Intent newActivity = new Intent(this, 
         Pickmodel.class);     
                    startActivity(newActivity);
                    break;
           case 1:  Intent newActivity = new Intent(this, 
         Pickmodel.class);     
                    startActivity(newActivity);
                    break;
           case 2:  Intent newActivity = new Intent(this, 
         Pickmodel.class);     
                    startActivity(newActivity);
                    break;
           case 3:  Intent newActivity = new Intent(this, 
         Pickmodel.class);     
                    startActivity(newActivity);
                    break;
           case 4:  Intent newActivity = new Intent(this, 
         Pickmodel.class);     
                    startActivity(newActivity);
                    break;
        }
      }




   ImagebuttonOpenDialog = (ImageButton)findViewById(R.id.imgbtn1);
   ImagebuttonOpenDialog.setOnClickListener(new Button.OnClickListener(){

    public void onClick(View arg0) {
        showDialog(CUSTOM_DIALOG_ID);
       }});

        }

     @Override
     protected Dialog onCreateDialog(int id) {

      Dialog dialog = null;

      switch(id) {
         case CUSTOM_DIALOG_ID:
          dialog = new Dialog(menu.this);
          dialog.setContentView(R.layout.custom);
          dialog.setTitle("Custom Dialog");

          dialog.setCancelable(true);
          dialog.setCanceledOnTouchOutside(true);

          dialog.setOnCancelListener(new OnCancelListener(){

        public void onCancel(DialogInterface dialog) {
         // TODO Auto-generated method stub
         Toast.makeText(menu.this,
           "OnCancelListener",
           Toast.LENGTH_LONG).show();
        }});

          dialog.setOnDismissListener(new OnDismissListener(){

        public void onDismiss(DialogInterface dialog) {
         // TODO Auto-generated method stub
         Toast.makeText(menu.this,
           "OnDismissListener",
           Toast.LENGTH_LONG).show();
        }});

          //Prepare ListView in dialog
          dialog_ListView = (ListView)dialog.findViewById(R.id.dialoglist);
          ArrayAdapter<String> adapter
           = new ArrayAdapter<String>(this,
             android.R.layout.simple_list_item_1, listContent);
          dialog_ListView.setAdapter(adapter);
          dialog_ListView.setOnItemClickListener(new OnItemClickListener(){

        public void onItemClick(AdapterView<?> parent, View view,
          int position, long id) {
         // TODO Auto-generated method stub
         Toast.makeText(menu.this,
           parent.getItemAtPosition(position).toString() + " clicked",
           Toast.LENGTH_LONG).show();
         dismissDialog(CUSTOM_DIALOG_ID);
        }});

             break;
         }

      return dialog;
     }

     @Override
     protected void onPrepareDialog(int id, Dialog dialog, Bundle bundle) {
      // TODO Auto-generated method stub
      super.onPrepareDialog(id, dialog, bundle);

      switch(id) {
         case CUSTOM_DIALOG_ID:
          //
             break;
         }

     }

    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
            long arg3) {
        // TODO Auto-generated method stub

    }

    }


    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
     // TODO Auto-generated method stub

      }

何か不足している場合はお知らせください。ありがとうございます。このプロジェクトを実行できないため、ログ CAT を印刷できません。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/customdialog"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:padding="20dp"
  android:minWidth="300dp">

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/popcar" />

<ListView
    android:id="@+id/dialoglist"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />

<ImageButton
    android:id="@+id/imageButton1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/kj" />

</LinearLayout>
4

2 に答える 2

0

ListActivity を使用していますが、ビューにリストがありません。

要素が必要です

<ListView
  android:id="@android:id/list"
  android:layout_width="match_parent"
  android:layout_height="wrap_content" >
</ListView> 

レイアウトで ListActivity を使用できるようにします。

しかし、RelativeLayoutタグを閉じるのが見えないので、xmlの一部を切り取ったように見えます

于 2013-05-20T23:32:41.373 に答える
0

ListActivity を拡張しているため、onItemClickListener は機能しません。onListItemClickListner を使用する必要があり、それが機能します。

于 2013-05-20T19:14:15.340 に答える