片段和活动的编码[已关闭]

问题描述 投票:0回答:1
我正在尝试使用在活动中创建的图像实现列表视图,但是问题是当我放入一个片段时,它给适配器带来了很多错误,并且按id查找视图不显示我不为什么?

同一列表正在工作,但是正在活动中

我在我的适配器处设置了错误并设置了适配器

package com.embid2.myapplication; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import android.content.Context; import android.content.res.Resources; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; public class MainActivity extends AppCompatActivity { ListView listView; String[] menutitles; int[] imges={R.drawable.iconfinder_food__dish__kitchen__3653390,R.drawable.iconfinder_pages_1118205,R.drawable.iconfinder_special_price_5418372}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Resources res =getResources(); menutitles=res.getStringArray(R.array.titles); listView=(ListView) findViewById(R.id.list); myadapter myadapter=new myadapter(this,menutitles,imges); listView.setAdapter(myadapter); } } class myadapter extends ArrayAdapter<String> { Context context; int[] imges; String[] titles; myadapter(Context c,String[]titles,int[] imges) { super(c,R.layout.single_row,R.id.text,titles); this.context=c; this.imges=imges; this.titles=titles; } @NonNull @Override public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { LayoutInflater inflater= (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View row=inflater.inflate(R.layout.single_row,parent,false); ImageView myimage =(ImageView)row.findViewById(R.id.image); TextView mytitle=(TextView)row.findViewById(R.id.text); myimage.setImageResource(imges[position]); mytitle.setText(titles[position]); return row; } }

android android-activity android-listview fragment drawer
1个回答
0
投票
据我所知,我将尽力解决您的问题。实际上,在片段中发生的是一个活动,而活动本身是一个父活动,其中片段可能是框架布局容器,因此片段中所有值的ID都应通过视图来访问因此,当您为片段编码时,请尝试添加此行在您的

OncreateView

` // first declare the view View v; Button b; //And the public class extends Fragment //Under on create view View v = inflater.inflate(R.layout.your_layout_name,container,false); // Your code here b = v.findviewbyid(R.id.button) return v;
`如果遇到类似空指针期望的错误,请尝试使用另一种方法

OnViewCreate()

下的所有值
© www.soinside.com 2019 - 2024. All rights reserved.