androidアプリ開発
を読みながら、作業しています。 ( 184ページ )

サンプルのコード
SimpleExpandableListAdapter adapter = new SimpleExpandableListAdapter(
this,
g_list,
android.R.layout.simple_expandable_list_item_1,
new String[] { "group_title"},
new int[]{android.R.id.text1 },
c_list,
android.R.layout.simple_expandable_list_item_2,
new String[] {"child_title", "child_text" },
new int[] { android.R.id.text1, android.R.id.text2 }
);
elv.setAdapter(adapter);

elv.setOnChildClickListener(
new OnChildClickListener() {
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
TextView txt = (TextView) ((TwoLineListItem) v).findViewById(android.R.id.text1);
Toast.makeText(AddrListShowActivity.this, txt.getText(), Toast.LENGTH_LONG).show();
return false;
}
}

は、動くのですが、欲張って

SimpleExpandableListAdapter adapter = new SimpleExpandableListAdapter(
this,
g_list,
android.R.layout.simple_expandable_list_item_1,
new String[] { "group_title"},
new int[]{android.R.id.text1 },
c_list,
android.R.layout.simple_expandable_list_item_2,
new String[] {"child_title", "child_text" },
new int[] { android.R.id.text2, android.R.id.text3 }
);
elv.setAdapter(adapter);

elv.setOnChildClickListener(
new OnChildClickListener() {
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
TextView txt = (TextView) ((TwoLineListItem) v).findViewById(android.R.id.text1);
Toast.makeText(AddrListShowActivity.this, txt.getText(), Toast.LENGTH_LONG).show();
TextView txt2 = (TextView) ((TwoLineListItem) v).findViewById(android.R.id.text2);
Toast.makeText(AddrListShowActivity.this, txt2.getText(), Toast.LENGTH_LONG).show();
TextView txt3 = (TextView) ((TwoLineListItem) v).findViewById(android.R.id.text3);
Toast.makeText(AddrListShowActivity.this, txt3.getText(), Toast.LENGTH_LONG).show();

return false;
}
}

とすると、android.R.id.text3  が原因で動きません。

そもそも、android.R.id.text1 の  text1 は何処にあるのでしょうか。

アドバイスよろしくお願いします。
 

このQ&Aに関連する最新のQ&A

A 回答 (1件)

ふつうはlayout.xmlファイルで、画面オブジェクトを定義していなければ使えないよ。

text3をレイアウトファイルにも追加済みか、スペルミスがないか要確認。
    • good
    • 0
この回答へのお礼

ありがとうございます。

res - layout の所には、 antivity_main.xml だけがあって
その中身は、以下のようになっています。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ExpandableListView
android:id="@+id/elv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" >
</ExpandableListView>
</RelativeLayout>

よく見ても、無いのです。

amdroid の プログラムでは、C言語の 外部変数 のようなものは無いのでしょうか?
それがあれば、簡単なのですが、、、

お礼日時:2014/12/01 07:17

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qandroid studio インストールエラー

androidstudioのインストールの途中でエラーが発生しました。
エラーは次のような内容です。

The following SDK components were not installed:extra-android-m2repository, extra-google-m2repository and tools

PCはwindowsのもので自分なりに調べてみましたが、よくわかりませんでした。
詳しい方、よろしくお願いします。

ちなみにいくつかのPCにandroidstudioをインストールしてみましたが、3台中1台だけ正常に起動しました。

Aベストアンサー

OSは?
Vista以降(Vista、Windows7など)のOSでは右クリック「管理者として実行」作業(解凍・展開、インストール、起動など)実行(UAC)


>3台中1台だけ正常に起動しました

XPはUACは関係ありません。(但し、Administratorでログイン後インストールする必要がある場合があります)

Qandroidのバージョン

すみません。初心者です。

あるプロジェクトを新規に作成して、パッケージエクスプローラーでみた場合、
Android 4.4.2となっており、その下にandroid.jarファイルがあります。

別のサンプルのプロジェクトをインポートすると
Android 2.3.3となってます。
このプロジェクトをAndroid 4.2.2というように変更するにはどうすればできるのでしょうか?
(サンプル2.3.3を元に、4.4.2として開発したいため)

Aベストアンサー

単純に、プロジェクトでターゲットとするSDKバージョンを変更したいだけなら、AndroidManifest.xmlを開き、<use-sdk>タグのandroid:minSdkVersionとandroid:targetSdkVersionをそれぞれ書き換えて保存するだけです。これらの値により、プロジェクトがリビルドされて自動的に最適なSDKが設定されるはずです。

ただし、ver. 2.3と4.2ではかなり変わってますので、中には既にDeprecatedになったメソッドなども含まれている可能性があります。その場合は、コードを自力で書き換えて4.2の書き方に合わせないと動かない場合もありますので注意して下さい。

QAndroidアプリ開発について

ドコモのレグザフォンとメディアスを使用しています。せっかくなので自分でアプリを作ってみようかと思ったのですが開発環境を準備しようとしています。
OSはVista HPで最新のeclipseやAndroid SDKはインストールしました。今現在はADTのディレクトリ設定で失敗しているようです。システム変数でpath編集しているのですがeclipseの左画面にAndroidと表示されていないです。よくわからないので教えてください。

Aベストアンサー

ADTはEclipseのプラグインなので、ディレクトリの設定は無いはずです。

ちなみに、Eclipseの左上にでるAndroid関連のメニューもADT導入すれば表示されますので、
Path設定は特に関係ありませんよ。

JDKやSDKなどややこしいですが、がんばって開発環境作成して下さい。

■ADT関連
http://www.hlplus.jp/android/eclipse/adt/
http://www.hlplus.jp/android/eclipse/adt_install/

QAndroidアプリ開発の次のステップ

Androidアプリ開発の参考書としてこちらの本を読了しました。
http://www.amazon.co.jp/%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AEAndroid%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E2%80%95Android4%E5%AF%BE%E5%BF%9C%E7%89%88-TECHNICAL-MASTER-%E5%B1%B1%E7%94%B0-%E7%A5%A5%E5%AF%9B/dp/4798035858/ref=sr_1_3?s=books&ie=UTF8&qid=1375180918&sr=1-3&keywords=android%E3%80%80%E9%96%8B%E7%99%BA

こちらの本では、各ビューなどの機能や実装方法については紹介されていますが、アプリらしいアプリの例は示されていません。
そこで、もう少し具体的なアプリ作成について書かれている本を探しています。

おすすめの本がありましたら教えていただきたく思います。よろしくお願いします。
(近所に大型書店が無く、これらの本は殆ど置いてないに等しく選定に困っています)

Androidアプリ開発の参考書としてこちらの本を読了しました。
http://www.amazon.co.jp/%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AEAndroid%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E2%80%95Android4%E5%AF%BE%E5%BF%9C%E7%89%88-TECHNICAL-MASTER-%E5%B1%B1%E7%94%B0-%E7%A5%A5%E5%AF%9B/dp/4798035858/ref=sr_1_3?s=books&ie=UTF8&qid=1375180918&sr=1-3&keywords=android%E3%80%80%E9%96%8B%E7%99%BA

こちらの本では、各ビューなどの機能や実装方法については紹介されていますが、アプリらしいアプ...続きを読む

Aベストアンサー

金宏和實 氏の著書はいかがでしょう。(私は第2版は持っていません)

作ればわかる!Androidプログラミング―10の実践サンプルで学ぶAndroidアプリ開発入門 (2011/10/14)
http://www.amazon.co.jp/dp/4798124338/
http://www.seshop.com/product/detail/13651/

作ればわかる! Androidプログラミング 第2版 -SDK4対応- (2013/04/22)
http://www.amazon.co.jp/dp/479813192X/
http://www.seshop.com/product/detail/15625/

感想は,Amazonカスタマーレビューに基本的に賛成。Javaプログラミング・Androidプログラミングのまったくの初心者でないのなら,コーディング修正・実行デバグを繰り返しながら,サンプル内で実装されている処理の内容が理解できると思います。

公式サイトでは,詳細な目次が公開されているし,サンプルのソースコードもダウンロードできます。

金宏和實 氏の著書はいかがでしょう。(私は第2版は持っていません)

作ればわかる!Androidプログラミング―10の実践サンプルで学ぶAndroidアプリ開発入門 (2011/10/14)
http://www.amazon.co.jp/dp/4798124338/
http://www.seshop.com/product/detail/13651/

作ればわかる! Androidプログラミング 第2版 -SDK4対応- (2013/04/22)
http://www.amazon.co.jp/dp/479813192X/
http://www.seshop.com/product/detail/15625/

感想は,Amazonカスタマーレビューに基本的に賛成。Javaプログラミング・Androidプログラ...続きを読む

QAndroidのVisualizerについて

Eclipseを使用しています。
下のサイトを参考に、android.media.audiofx.Visualizerクラスを使って音声波形表示する機能をつけようとしています。

http://techbooster.jpn.org/andriod/multimedia/2891/

しかし、サイトに記載されているinitAudioメソッドの17行目にある

mVisualizer = new Visualizer(mMediaPlayer.getAudioSessionId());

の部分でRuntimeExceptionが発生します。
「audioflinger could not create effect, status: -22」というエラーログが出ます。
まずVisualizerが初期化できていないようで、何か考えられる原因はあるでしょうか。
これだけの情報ではわからない、というようなら必要な情報を補足します。
解決の糸口になるようなヒントだけでもいいので、よろしくお願いします。

Aベストアンサー

直接的な解決策は見つかりませんでしたが、
エミュレータではダメでも、実機で試したらちゃんと動いた、という例はあるようです。

http://stackoverflow.com/questions/14603188/audioflinger-could-not-create-effect-status-22


人気Q&Aランキング

おすすめ情報