2012-03-01 5 views
1

私はusAndindを使って株式市場の情報を表示しています。各行には4つのテキストビューを持つ自分のレイアウトがあります。彼らが変わるたびに各株の情報を更新する必要があります。 私の問題はリストから特定のビューを抽出することができますが、このビュー内でテキストビューを見つける方法がわかりません。下のコードは私の問題を明確にするかもしれません。 これは私が動作しませんでしたやったです:アンドロイドのListActivityでTextviewを見つけよう

ListView list = (ListView) findViewById(R.id.list); 
View r = list.getChildAt(2); 
TextView t = (TextView) r.findViewById(R.id.t_buy); 
t.setText("3200$"); 

t_buyは私のレイアウトでtextviewsの一つです。 アンドロイドには以下のようなものがありますが、これはありません。

TextView t = (TextView) r.getChildAt(R.id.t_buy); 

これは私のアプリのスクリーンショットです。

a busy cat

答えて

1

はあなたにBaseAdapterとオーバーライドメソッドからカスタムアダプタを作成します。

@Override 
public View getView(int position, View convertView, 
      ViewGroup parent) 
{ 
    //... 
    TextView textView; 
    textView = (TextView)view.findViewById(R.id.itemText); 
    textView.setText("some text"); 

} 

は、ここではモードの詳細を参照してください。http://codinglines.frankiv.me/post/14552677846/android-implementing-a-dynamically-loading-adapter

1

あなたはリストオブジェクトにgetAdaper()を使ってみて、その後、あなたが必要なものを取得するためのgetItem()を使用することができます。

+0

あなたはもう少しそれを説明するか、多分例を作ることができます。 thx – Daniel

+0

getAdapter()を使用すると、リストを作成するために使用したアダプタが取得されます。したがって、実際のタイプにキャストすることができます(たとえば、カスタムタイプを使用した場合)。いったんそれを持っていれば、希望の位置でgetItem()を呼び出すとそこにインスタンスが返されます。SimpleCursorAdapterが使用されている場合、カーソルはその位置に移動します。オブジェクトを取得したら、必要なものを実行できます。 – Caumons

1

あなたは、アダプタ内の項目を更新し、あなたがリストの項目あなたをクリックしたときに、私はあなたがリストビューを使用しているので、あなたがビューgetViewメソッドメソッドを使用することができれば、それが最善だと思いますadapter.notifyDataSetChanged

0

を呼び出すことができあなたが言及したように4つのTextViewsであなたのカスタムレイアウトの1つを設定したい。このlinksはあなたにそのことをはっきりと示す方法を示しています。