私のシナリオは、SQLite DB に格納されているカーソルを表示するアクティビティがあることです。メイン レイアウトには、上部に textview と listview が含まれています。次に、simplecursoradapter を使用してカーソルを listadapter に入力し、listadapter を listview に配置します。simplecursoradapter は別のレイアウトを使用します。問題は、simplecursoradapter を使用すると、項目名、日付、価格などの 3 つの列がリストビューに表示されることです。これらの値を変更しなければ問題ありません。
実際には、価格に文字列を追加して、通貨記号などの新しい文字列を形成したいと考えています。私の理解によると、2 つのレイアウトではなく 1 つのレイアウトに対してのみ ContentView を設定できます。また、新しいレイアウトを入力して値を設定しようとしましたが、失敗しました
LayoutInflater インフレータ = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View textEntryView = inflater.inflate(R.layout.itemlist, null); TextView 価格 = (TextView) textEntryView.findViewById(R.id.price); price.setText(currency + c.getString(4).toString());
構文やアプリの実行にも問題はありません。しかし、アプリを実行してリストビューを確認すると、通貨記号を追加せずに価格のみが表示されます。simplecursadapter で使用される 2 番目のレイアウトではなく、メイン レイアウトの下にのみ通貨記号を追加できます。
実際、通貨はユーザー設定で選択され、sharedpreference を使用してその値を取得し、カーソルの価格値に追加します。simplecursoradapter は別のレイアウトを使用しているようで、それはできません。
誰かがこのケースについてアイデアを持っていますか?
同様のアプローチのためにメソッドとコードが提供されれば幸いです。
ありがとう !!