Error CS0246 The type or namespace name 'Androidx' could not be found (are you missing a using directive or an assembly reference?) - xamarin.android

I am migrating Xamarin.Android application from Andorid 9 to Android 10. I have updated all the support packages to Andoridx packages.
In .axml files after changing the android.support.v7.widget.RecyclerView to androidx.recyclerview.widget.RecyclerView , I am getting "Error CS0246 The type or namespace name 'Androidx' could not be found (are you missing a using directive or an assembly reference?)" in the respective .axml.g.cs file.
Attached screenshot of .axml.g.cs file
I have tried deleting obj, bin folders.
Clean, rebuilt the application. Still not resolved.
Could anyone help me resolving this issue?
Thanks in Advance
activity1.axml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#color/backgroundColor">
<include
android:id="#+id/toolbar"
layout="#layout/toolbar" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<include
android:id="#+id/Indicator"
layout="#layout/Indicator" />
<androidx.recyclerview.widget.RecyclerView
android:id="#+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingBottom="#dimen/margin_small"
/>
</FrameLayout>
</LinearLayout>

At first, the namespace is AndroidX.RecyclerView.Widget; not Androidx.
So you can try to add the following code in the .cs file.
using AndroidX.RecyclerView.Widget;
or
private AndroidX.RecyclerView.Widget.RecyclerView _recycler_view;
And then, if it still doesn't work. You can download the nuget package Xamarin.AndroidX.RecyclerView from the package manager.
You should create the android layout file such as:
The cause is the nuget package in your project too old. You can try to use a new package to replace it.

Related

ViewTreeLifecycleOwner not found from Dialog

when I add
<androidx.compose.ui.platform.ComposeView
android:id="#+id/compose_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
to XML I am getting above error. I tried to update appcompat library but it didnt worked.Anyone have sollution?

How to fix " Element ....is not allowed " error in layout "activity_main.xml" file

I have created a new android project using Android Studio 3.5.1 using the "Basic Activity" template. But could not get the Design/Text tab rather error messages "Element ...is not allowed here".
The elements are highlighted with red. I do appreciate any help.
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<com.google.android.material.appbar.AppBarLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:theme="#style/AppTheme.AppBarOverlay">
<androidx.appcompat.widget.Toolbar
android:id="#+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="#style/AppTheme.PopupOverlay" />
</com.google.android.material.appbar.AppBarLayout>
<include layout="#layout/content_main"/>
<com.google.android.material.floatingactionbutton.FloatingActionButton
I have settled it by:
1- Delete "wrapper" folder under ...C:\Users[myUserAcctName].gradle
2- Reload the project and let the Gradle's sync finish (it took 34 minutes).
Then went perfect.
Thanks for those considering an answer.

Xamairin forms : Android.Views.InflateException: <Timeout exceeded getting exception details>

Research a lot about this issue and found the same question, which doesn't solve my problem. so starting a new question.
Xamarin Android: Android.Views.InflateException - Error when loading Layout
Getting Xamairin forms : Android.Views.InflateException: Timeout exceeded getting exception details when loading layout.
Main.axml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFCDD2"
android:orientation="vertical">
<android.support.design.widget.TextInputLayout
android:id="#+id/input_layout_name"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="#+id/input_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:hint="#string/hint_name" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="#+id/input_layout_email"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="#+id/input_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:hint="#string/hint_email" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="#+id/input_layout_password"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="#+id/input_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:hint="#string/hint_password" />
</android.support.design.widget.TextInputLayout>
<Button
android:id="#+id/btn_signup"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="#string/btn_sign_up"
android:background="#color/colorPrimary"
android:layout_marginTop="40dp"
android:textColor="#android:color/white" />
</LinearLayout>
I have not used layout:width and layout:height properties in my axml and only using an icon having 4kb size.
Please suggest a solution for this issue, thanks in advance...
Getting Xamairin forms : Android.Views.InflateException: Timeout exceeded getting exception details when loading layout.
There are two things needs to be confirmed before using TextInputLayout:
Please make sure, Xamarin.Android.Support.Design lib is correctly referenced in your Xamarin.Android project. If you are using Xamarin.Forms, it should be referenced by default.
Please make sure the Activity is of type Android.Support.V7.App.AppCompatActivity.
If none of the above things help, please provide a basic demo that can reproduce the problem.
Update:
Upon testing on the project you shared. I found you need to use a Theme.AppCompat theme for your activity, you can do that by following below steps:
Create a styles.xml file under Resources\values\ folder with below codes:
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
</style>
</resources>
In MainActivity.cs define the Activity attribute to leverage AppTheme like this:
[Activity(Label = "DinexFeedback", MainLauncher = true, Icon = "#drawable/icon",Theme ="#style/AppTheme")]
public class MainActivity : Android.Support.V7.App.AppCompatActivity
{
...
Then the project will run fine.
Unhandled Exception: Android.Views.InflateException:
Make sure the necessary nuget package installed in visual studio.
I used card view in my project, i got this issue becoz i didn't install Xamarin.Android.Support.cardview.
so we should install all support nuget package in order to support all widgets here i use card view.
click on project -> Manage Nuget-> check out the installed pakages, if the package were not installed just search the particular package and then download it.
updated on 10/12/2018
check your layout whether all the layout fields are started with capital letter. for ex : In android we used in small letter but In c# we should use otherwise it throws the inflate view exception.

App crashed while integrating stripe view payment gateway in xamarin android

I am trying to integrate stripe payment gateway in xamarin.android but I have get application closing issue. Here is the sample code what I have tried.
Sample Code:
[assembly: ExportRenderer(typeof(PaymentView), typeof(CardInputActivity)]
namespace SampleProject.Droid.PaymentController
public class CardInputActivity(Bundle bundle) : Activity
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.CardInput);
Helper.StripeView = FindViewById<StripeView>(Resource.Id.stripeLayoutOne);
}
CardInput.axml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="20dp">
<Stripe.StripeView
android:id="#+id/stripeView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp" />
</LinearLayout>
This is the code I have tried. In above 'CardInPutActivity' is the renderer class in android, 'CardInputView' is the layout file in resource folder and 'PaymentView' is the portable class contain view.
Unfortunately I'm not sure what the answer is. It appears the Xamarin Stripe component is several years old now, and may not work any longer. This component was built by Xamarin themselves[1], so contacting them for help may be your best bet.
Beyond that I'd try to go step-by-step through your application with a debugger and/or add some System.out.println() statements to see where things are falling down.
[1] https://components.xamarin.com/view/stripe

Monodroid - How to include layouts?

I am looking at android documentation and if I want to use include and merge.
So I opened up eclipse and got it to extract some of the code out and it made in my layout this
<include layout="#layout/progressbar" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
and another file with
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<TextView android:text="Loading..." android:layout_height="wrap_content" android:layout_width="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:id="#+id/lblLoading" android:layout_marginLeft="180dp" android:layout_marginTop="240dp"></TextView>
<ProgressBar android:id="#+id/progBar" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_marginLeft="130dp" android:layout_marginTop="230dp"></ProgressBar>
</merge>
Yet when I try to do this in monodroid I get errors saying it can't find merge and include.
Do you have "warnings as errors" enabled? For code completion, Mono for Android includes an XSD for .axml files, and the XSD doesn't specify <include/> or <merge/>, and thus Visual Studio will generate a warning when those are used. Mono for Android doesn't care about them, though, and passes them through to aapt.
It would be useful if you could provide the exact error message.
try using
<ProgressBar android:progress.....
And continue, its more along the lines of messing around with different options.

Resources