ListViewのカメラの意図を使用して位置を送信してOnActivtyResultメソッドの位置を取得します。 -- android フィールド と android-intent フィールド と xamarin.android フィールド 関連 問題

Using camera intent in ListView send the position and Get the position in OnActivtyResult method












0
vote

問題

日本語

リスト項目ごとにListViewとTakePicture Buttonイベントがあります。その位置を使用して画像を更新するには、OnActivityResultメソッドにポジションを送信し、ポジションを取得する必要があります。

マイコードは

<事前> <コード> holder.TakePicture1.Click += delegate (object sender, System.EventArgs args) { if (remnantModel != null) { Intent camIntent = new Intent(MediaStore.ActionImageCapture); camIntent.PutExtra("Position", position); context.StartActivityForResult(camIntent, 2); } };

OnActivityResult関数

<事前> <コード> protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { base.OnActivityResult(requestCode, resultCode, data); switch (requestCode) { case 2: if (data != null) { Bundle extras = data.Extras; Bitmap imageBitmap = (Bitmap)extras.Get("data"); int pos = data.GetIntExtra("position", 0); int position = data.Extras.GetInt("position", 0); // Not getting position value here RemList[pos].Path.SetImageBitmap(imageBitmap); } } }

上記のコードとして、私はネイティブのActionImageCaptureイベントを使用しており、OnActivityResult関数でポジションを取得できません。

OnActivityResultメソッドでデータを取得する方法はありますか?

英語

I have a Listview and TakePicture button event for each list item. I need to send position and get position back on OnActivityResult method to Update Image to List Item using that position

My code is

holder.TakePicture1.Click += delegate (object sender, System.EventArgs args)   {      if (remnantModel != null)         {            Intent camIntent = new Intent(MediaStore.ActionImageCapture);            camIntent.PutExtra("Position", position);            context.StartActivityForResult(camIntent, 2);          }   }; 

In OnActivityResult function

protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)   {        base.OnActivityResult(requestCode, resultCode, data);         switch (requestCode)         {         case 2:             if (data != null)             {                 Bundle extras = data.Extras;                 Bitmap imageBitmap = (Bitmap)extras.Get("data");                 int pos = data.GetIntExtra("position", 0);                 int position = data.Extras.GetInt("position", 0);                  // Not getting position value here                 RemList[pos].Path.SetImageBitmap(imageBitmap);              }         }   } 

As above code, I am using native ActionImageCapture event and not able to get Position in OnActivityResult function.

How can I get data i.e position in OnActivityResult method?

</div
        
         
         

回答リスト

0
 
vote

データの取得I..OnactivityResultメソッド

コードで OnActivityResult の位置を取得することはできません。

1) Position であるべきです。 position

2) Position data.GetIntExtra("Position", 0); )に変更した場合は、その位置を取得することはできません。

<コード> StartActivityForResult 方法:

<コード> AcitivityA から<コード>に戻す場合は、戻り値なしで<コード> StartActivity を使用できますが、データを取得したい場合は使用できます。 <コード> AcitivityB は、 Position0 を使用する必要があります。 setresult メソッド SystemCameraCitVity 、問題がありますが、 systemCameraCitVity システムの活動であるため、アプリケーションでアクティビティがありませんので、<コード> Position2 をを使用するために Position1 を使用することはできません。コード>。

そのため、この解決策は、ボタンをクリックすると、ボタンをクリックするとその値を変更するためにアクティビティで静的変数を定義する必要があります。 Position3 <を判断する必要があります。 / code>と Position4 、次に静的変数を使用して画像を設定します。

 

get data i.e position in OnActivityResult method

You can't get the position in OnActivityResult by your code.

1) it should be Position, not position.

2) if you change it to Position (data.GetIntExtra("Position", 0);), you still can't get the position.

About StartActivityForResult method:

If you want to jump from AcitivityA to AcitivityB without return value, you can use StartActivity, but if you want to get data from AcitivityB, you need to use StartActivityForResult, and at the same time, you need to use SetResult method in the SystemCameraAcitvity, there is a problem, we can't handle the SystemCameraAcitvity, it is system activity, we don't have the Activity in our application, so we can't use SetResult to send the position back to our activity which contains the ListView.

So, the solution is that, you need to define a static variable in your activity to store the position, change its value when you click the button, and after taking the picture, you need to judge the resultCode and requestCode, and then, use the static variable to set the picture.

</div
 
 

関連する質問

0  xamarin.iosおよびxamarin.androidカーソル修飾子のフォントサイズを変更しますか?  ( Change font size in xamarin ios and xamarin android cursor modifier ) 
私は15~17行のチャートを持っており、カーソル修飾子は電話機の6つのビューを切り取ります。それはタブレットに素晴らしくなりますが、電話では、言ったように、6つだけを示しています。モディファイアでテキストサイズを小さくする方法はありますか? ...

3  未定義のレイアウトリソースエラーですが、リソースが存在します  ( Undefined layout resource error but resource does exists ) 
imこのチュートリアル: http://docs.xamarin.com/android/ttortutials / user_interface / list_view list_item.xml を持っています<コード> HelloListVie...

1  Push Notification GCMリスナーにそれらを入れると、Android NのインテントエキストラはNULLです。  ( Android n intent extras is null when i put them in push notification gcm listene ) 
私はAndroid Nのプッシュ通知を使用しています。 私は保留中の意図に補足を置く: <事前> <コード> intent = new Intent(this, typeof(MainActivity)); intent.PutExtr...

-1  JPGを圧縮してImageViewに表示するように画像をダウンロードする方法  ( How to download image as jpg compress it and display it in a imageview ) 
URLから画像をダウンロードして、それを圧縮して画像表示に表示する方法を教えてください。 今すぐ行っている方法はビットマップを使っていて、ファイルのサイズは20以上のイメージを使ってダウンロードしてすべて一緒にクラッシュしました。とは何ですか? これは私が...

0  データセット行を使って作業する  ( Working with dataset rows ) 
私はListViewになるWebServiceから取得したデータセットを持っています。これまでのところ私はこのようにしています: <事前> <コード> foreach (DataRow row in dsGetAvailUsers.Tables[0].Rows...

2  Xamarin.androidのC ++ / CLIライブラリを使用してください  ( Use c cli library in xamarin android ) 
C ++ / CLIライブラリからインポートされたいくつかの関数を使用したいAndroidアプリを持っています。ただし、C ++ / CLRプロジェクトがx86またはx64でコンパイルすると、CLR / Safe Mode(これは制限的な)でMy CLRプロ...

0  xamarin.androidのアセットフォルダからPDFを開くにはどうすればよいですか  ( How do i open pdf from assets folder in xamarin android ) 
PDFを開き、PDFViewerではPDFファイルがアセットフォルダに配置されます。 私は次のようにしてみましたが、ファイルプロバイダはTargetVersion&GT; 24にも役立ちます。また、 UPDATE "BEN"."TABLE03" SET "...

-1  ビューの高さと幅を取得する方法  ( How to get the height and width of the view ) 
レイアウトやその表示が表示される前に、ビューの高さと幅を取得する必要があります。私はビューの測定heightと測定幅を使って試みましたが、その再引っ流しは0です。これを解決するために私を助けてもらえますか? 下のコードスニペット私は試してみました: <事前> ...

1  Eclipse IDEのAndroid用Monotouch / Monoを使用する  ( Using monotouch mono for android with eclipse ide ) 
現在私はMonotouchで最初のステップをやっていて、すぐにAndroidのためにモノイドを続けたいと思います。 これまでのところ私はMonoDevelop IDEを使っていますが、これは私がEclipseを使用するときに慣れた機能の多くを欠いています。 ...

9  Xamarin Formsは間違ったRessourcesを生成します  ( Xamarin forms generates wrong ressources ) 
私はXamarin formsを備えたXamarin Androidアプリケーションを持っています。 Xamarin Forms 3.4.0.1029999から更新した後、私のresource.designerにエントリがあります。 <事前> <コード> ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有