質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

Q&A

解決済

1回答

2120閲覧

Xamarin.Android - ListViewでファイル一覧を表示したときの拡張子を消したい

sezaki_H

総合スコア41

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

0グッド

0クリップ

投稿2018/08/14 03:09

前提・実現したいこと

テキストファイルをListViewに一覧表示し、編集できるようにしたいのですが、拡張子(.txt)まで読んでしまい、保存すると**.txt.txtとなってしまいます。どうしたら回避できますか?

該当のソースコード

C#

1 //ローカルフォルダからファイル名一覧を取得 2 3 var adapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItem1); 4 n = 0; 5 foreach (var file in files) 6 { 7 filename[n] = file.Name;//配列にファイル名を格納 8 n++; 9 } 10 //ListViewに表示 11 for (var i = 0; i < n; i++) 12 { 13 adapter.Add(filename[i]); 14 } 15 adapter.NotifyDataSetChanged(); 16 memolist.Adapter = adapter;

補足情報(FW/ツールのバージョンなど)

Xamarin.Android SDK(ver:8.3.32)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

C#で、拡張子を削除するなら
result = Path.ChangeExtension(Filename,"");
でできますが、

拡張子(.txt)まで読んでしまい、保存すると**.txt.txtとなってしまいます。

そもそものこっちの方をどうにかしたほうがいい気がします。

投稿2018/08/14 04:26

y_waiwai

総合スコア87747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sezaki_H

2018/08/15 02:15

読んだファイル名をListViewに追加していたのですが、文字列の末尾を削除するという方法で対応しました。保存はワンタッチで行うので、保存関係は分岐で対応しました。ありがとうございましたm(__)m
y_waiwai

2018/08/15 02:18

一度、 > filename[n] = file.Name;//配列にファイル名を格納 このときの file.Name がどうなってるのか確認してみればどうでしょう。 このときすでに **.txt.txt となってるんでしょうか
sezaki_H

2018/08/15 02:29

file.Nameには[ファイル名.拡張子]が格納されています。 これをforeachで回してフォルダ内のファイル名をfile.Nameに格納→配列に渡す、というような処理です。 保存の際に.txtが二重についてしまうのは "文字列"+".txt"の形で処理しているからです。新規作成の場合は大丈夫なのですが、既存ファイルを編集する際にファイル名として拡張子が含まれてしまい.txtが二重についた別ファイルとして保存されていました。
y_waiwai

2018/08/15 02:33

なら、新規作成のときだけ、"文字列"+".txt"の形で処理すればいいんじゃないでしょうか。 バグとか不具合は、後付けでつじつまを合わせようとするより、根本の原因をなんとかするほうがいいです その部分が、後々のバグの温床となったりします #ところが実務ではそ~も言ってられない場面も多々あったりするんですがw
sezaki_H

2018/08/15 02:35

なるほど、試してみます。ありがとうございました! #今後の参考にします笑
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問