listviewを押したらページ遷移したいのですが、教えていただけないでしょうか?

381 views
Skip to first unread message

Myint Oo Win

unread,
Oct 21, 2011, 5:48:07 AM10/21/11
to android-g...@googlegroups.com
いつもお世話になっております。初心者なんですが単位変換アプリを作っております。
今ページ遷移のところに躓いています。よかったらどなたか教えていただけないでしょうか?
よろしくお願い致します。

     ListView mainlistview=null;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
        adapter.add("温度");
        adapter.add("通貨");

        mainlistview = (ListView) findViewById(R.id.listview);
        mainlistview.setAdapter(adapter);

        mainlistview.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
        {
             public void onItemSelected(AdapterView<?> parent, View view,
                   int position, long id) {
                mainlistview = (ListView) parent;


            }
            public void onNothingSelected(AdapterView<?> parent) {
            }
        });
        mainlistview.setOnItemClickListener(new ListItemClickListener() {

       class ListItemClickListener implements OnItemClickListener{
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                if(mainlistview.getSelectedItemId()==0)
                {
                    mainlistview=(ListView)parent;
                    String item=(String)mainlistview.getItemAtPosition(position);

                    Intent intent = new Intent(Main.this, Temperature.class);
                    intent.putExtra("SELECTED_PICT", item);

                    startActivity(intent);
                }
            }
        }

        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {


        }
            });



    }
}

小林明大

unread,
Oct 24, 2011, 1:48:47 AM10/24/11
to android-g...@googlegroups.com
こちらの匿名クラスの宣言がまちがっていますね。
匿名クラスの中に内部クラスでクラス定義されています。確認していませんが、こちらコンパイル通りましたか?
(new ListItemClickListener() {

class ListItemClickListener implements OnItemClickListener{
~略~


以下のようにするといいです

mainlistview.setOnItemClickListener(new OnItemClickListener() {

@Override


public void onItemClick(AdapterView<?> parent, View view, int
position, long id) {
if(mainlistview.getSelectedItemId()==0)
{
mainlistview=(ListView)parent;
String item=(String)mainlistview.getItemAtPosition(position);

Intent intent = new Intent(Main.this, Temperature.class);
intent.putExtra("SELECTED_PICT", item);

startActivity(intent);
}

}

});


あと、OnItemSelectedListenerとOnItemClickListenerを実装していますが、どちらかにしたほうがいいです。

よろしくお願いいたします。

2011年10月21日18:48 Myint Oo Win <k010...@gmail.com>:

> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com
> にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
> からこのグループにアクセスしてください。
>

--
***********************************
株式会社リーディング・エッジ社
小林 明大
東京都千代田区麹町2-10-9 C&Rグループビル1F
TEL:03-5216-7612 FAX:03-5216-7617
URL http://www.leadinge.co.jp
kobayash...@leadinge.co.jp
************************************

Reply all
Reply to author
Forward
0 new messages