android.R.id.text1はどこにある
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 は何処にあるのでしょうか。
アドバイスよろしくお願いします。
補足
説明が足らずすみません。 現在はloadUrlを使用せずにサーバー上のxhtmlのデータを読み取って、データをtextview webview に表示している状態になります。 受け取り側のソースは以下の通りです。 public class ItemDetailActivity extends Activity { private static final String WEBVIEW_BEGIN = "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /></head><body bgcolor=\"#f6f6f6\">"; private static final String WEBVIEW_END = "</body></html>"; public static final int MENU_SELECT_A = 0; public static final int MENU_SELECT_B = 1; public static final int MENU_SELECT_C = 2; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.item_detail); Intent intent = getIntent(); if (intent != null) { String tmp = ""; String desc = ""; TextView tv; tv = (TextView) findViewById(R.id.item_detail_title); tmp = intent.getStringExtra("TITLE"); tv.setText(tmp); tv = (TextView) findViewById(R.id.item_detail_pub); tmp = intent.getStringExtra("PUBDATE"); tv.setText(tmp); //tv = (TextView) findViewById(R.id.item_detail_descr); //tmp = intent.getStringExtra("DESCRIPTION"); //tv.setText(tmp); WebView wv = (WebView) findViewById(R.id.Des); wv.setWebViewClient(new WebViewClient(){}); wv.getSettings().setJavaScriptEnabled(true); wv.getSettings().setPluginState(PluginState.ON_DEMAND); wv.setVerticalScrollbarOverlay(true); wv.reload(); desc = WEBVIEW_BEGIN; tmp = intent.getStringExtra("Link"); tmp = intent.getStringExtra("DESCRIPTION"); desc += tmp + WEBVIEW_END; wv.loadDataWithBaseURL("about:blank", desc, "text/html", "utf-8", null); } } @Override public boolean onCreateOptionsMenu(Menu menu) { //getMenuInflater().inflate(R.menu.activity_main, menu); menu.add(0, MENU_SELECT_A, 0, "再読込み"); menu.add(0, MENU_SELECT_B, 0, "ヘルプ"); menu.add(0, MENU_SELECT_C, 0, "終了"); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { WebView myWebView =(WebView)findViewById(R.id.Des); switch (item.getItemId()) { case MENU_SELECT_A: //再読み込みボタンが押されたときの処理 myWebView.reload(); return true; case MENU_SELECT_B: Toast.makeText(this, "ああああああ", Toast.LENGTH_LONG).show(); return true; case MENU_SELECT_C: //終了ボタンが押されたとき myWebView.clearCache(true); // キャッシュのクリア myWebView.clearHistory(); // 履歴のクリア finish(); } return false; } }