小编Fah*_*hik的帖子

按值传递数组

通常当我们按名称传递数组时,它是按地址调用的.这意味着如果我们改变外部数组的任何值,main()它将被反映出来main().

那么,如果我想将数组作为函数的参数传递并在其中调用,main()以便该函数中的任何更改都不会反映在内部,我应该怎么做main()

例如:

void Foo(int arr[])   //takes an integer array `arr` as argument
{
    // do something with `arr
}

int main()
{
    int abc[]={5,1,2,9};
    //do something to pass `abc` inside `Foo` so that changes inside `Foo` doesn't change the value of `abc` array.
}
Run Code Online (Sandbox Code Playgroud)

现在我想通过值传递abc数组Foo.

c arrays function pass-by-value

11
推荐指数
2
解决办法
1674
查看次数

无法从 Fragment 中的 ViewModel 观察 LiveData

RecyclerView我的里面有ViewPager一个Fragment。此RecyclerView显示从服务器获取的数据。它通常可以工作,但我无法使用ViewModel和实现相同的功能LiveData,因为当从 更改时,该livedata.observe方法不会被调用。livedataViewModel

这是我的MonthlyOrderViewModel.java类的源代码

public class MonthlyOrderViewModel extends AndroidViewModel {

private Retrofit retrofit;
private RetrofitServices retrofitServices;
private MutableLiveData<MonthlyOrderHistory> monthlyOrderHistoryMutableLiveData = new MutableLiveData<>();

public MonthlyOrderViewModel(@NonNull Application application) {
    super(application);
    retrofit = RetrofitFactory.getRetrofit();
    retrofitServices = retrofit.create(RetrofitServices.class);
}

public MutableLiveData<MonthlyOrderHistory> getMonthlyOrderHistoryMutableLiveData() {
    return monthlyOrderHistoryMutableLiveData;
}
public void fetchMonthlyOrders() {
    Call<MonthlyOrderHistory> call = retrofitServices.getAllMonthlyOrderHistory(IpharmaApplication.getInstance().getLoggedInUser().getId());
    call.enqueue(new Callback<MonthlyOrderHistory>() {
        @Override
        public void onResponse(Call<MonthlyOrderHistory> call, Response<MonthlyOrderHistory> response) {

            MonthlyOrderHistory monthlyOrderHistory = response.body(); …
Run Code Online (Sandbox Code Playgroud)

android android-livedata android-viewmodel mutablelivedata

2
推荐指数
1
解决办法
4818
查看次数

将 onClickListener 添加到 ListView 中的特定项目

请我尝试添加了解如何将 onItemClickListener 添加到以下代码中,以便单击“智能手机计划”时,其活动开始等。我在 StackOverflow 上看到了与此问题相关的其他问题,但不知道如何解决这些问题。我已经添加了一个 onItemClickListener 但不明白如何将它设置为特定的列表项。这是代码

package devchuks.com.rechargeit;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.app.ListActivity;

import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class EtisalatData extends AppCompatActivity {
    ListView listView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_etisalat_data);

        listView = (ListView) findViewById(R.id.list);


        String[] values = new String[] {
                "Smartphone Plans",
                "Internet Bundles",
                "Weekend Plans",

        };



        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, android.R.id.text1, values);



        listView.setAdapter(adapter);


        listView.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View …
Run Code Online (Sandbox Code Playgroud)

android listview

0
推荐指数
1
解决办法
2102
查看次数

如何在c ++中检查二维数组是否按升序排列?

尽管我已按升序初始化数组,但我无法使此函数返回true.

bool won(int gameBoard[][SIZE])
{
    for(int i=0;i<SIZE;i++)
    {
        for(int j=0;j<SIZE;j++)
        {
            if(gameBoard[i][j]>gameBoard[i][j+1]||gameBoard[i][j]>gameBoard[i+1][0])
            {
                return false;
            }
        }
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

c++ arrays sorting

0
推荐指数
1
解决办法
465
查看次数