标签: android-arrayadapter

我怎样才能在ListView中添加不同的颜色

我想在列表视图的每一行中获得不同的颜色

但目前只显示一种颜色

那我怎么能这样做呢

ArrayAdapter<String> adapter=new ArrayAdapter<String(this,R.layout.latesthappenings,R.id.LH_Titles,titles);
            setListAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

我想在每一行中使用不同的颜色

请告诉我该怎么办

谢谢

android row android-arrayadapter

5
推荐指数
1
解决办法
2662
查看次数

如何在单独的类中使用自定义ArrayAdapter?

我有一个扩展ArrayAdapter的内部类,以便自定义ListView.我想将这个内部类分解为一个单独的文件,以便其他类可以使用它,但在getLayoutInflater()时遇到一些问题.

基本上,我的getView()方法不知道getLayoutInflater()是什么,即使我正在扩展ArrayAdapter.任何人都知道如何正常工作?

谢谢!

public class myDynAdap extends ArrayAdapter<String>
{
    String [] list;


   public myDynAdap (Context context, int textViewResourceId, String [] objects)
   {
       super (context, textViewResourceId, objects);
       mCtx = context;
       list = objects;
   }

    @Override
    public View getView (int position, View convertView, ViewGroup parent)
    {
        View row = convertView;

        if (row == null)
        {

            LayoutInflater inflater = getLayoutInflater ();  // <--- "The method getLayoutInflater() is undefined for the type myDynAdap"
            row = inflater.inflate (R.layout.main_listitem, parent, false);
        }

        TextView tv1 = (TextView) …
Run Code Online (Sandbox Code Playgroud)

android android-arrayadapter

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

在另一个Activity中更新后刷新ListView

我有两个简单的活动 - 活动1:来自Array Activity2的ListView:EditText,用于编辑Activity1中单击的行

当我在Activity2中编辑值并返回到Activity1时,ListView不会重新加载新值.

我想从Activity2返回或恢复Activity1或更新列表的东西时刷新ListView.

我的代码:

static ArrayAdapter<String> dataAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
            // Loading the values to list array
        String[][] fulllist = loadArrays();
        String[] list = new String[fulllist.length];
        for(int i = 0; i<fulllist.length; i++) {
            list[i] =  fulllist[i][1];
            }
            // --------------------------------

            dataAdapter = new ArrayAdapter<String>(this,
                                android.R.layout.simple_list_item_1,
                                list);
            setListAdapter(dataAdapter);
            }
@Override
public void onResume() {
        super.onResume();
        // Loading the values to list array
        String[][] fulllist = loadArrays();
        String[] list = new String[fulllist.length];
        for(int i = 0; …
Run Code Online (Sandbox Code Playgroud)

android listview android-arrayadapter

5
推荐指数
1
解决办法
1万
查看次数

如何让notifyDatasetChanged()与ListAdapter一起使用?

现在我使用setAdapter更新我的ListView,但我认为正确的方法是使用notifiyDatasetChanged(),我不能让它在我的主类(它在适配器中)工作.这是错误:

对于ListAdapter类型,方法notifyDatasetChanged()未定义

我猜这有更好的方法 - 有人能指出我正确的方向吗?

这是我的代码的相关部分:

public class ScoreList extends SherlockFragmentActivity {

    private ListView listViewScore;

    static List<Score> listScore = new ArrayList<Score>();
    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.score_list);
        ctx = this;
        listScore = dbh.getAllScores();

        listViewScore = (ListView) findViewById(R.id.score_list);

        listViewScore.setAdapter(new ScoreListAdapter(ctx,
                R.layout.score_row_item, listScore));
        listViewScore.getAdapter().notifyDatasetChanged(); //this is where I get the error
    }
}
Run Code Online (Sandbox Code Playgroud)

这是适配器:

public class ScoreListAdapter extends ArrayAdapter<Score> {
    private int resource;
    private LayoutInflater inflater;

    public ScoreListAdapter(Context ctx, int resourceId, List<Score> objects) {
        super(ctx, resourceId, objects);
        resource = resourceId; …
Run Code Online (Sandbox Code Playgroud)

java android listview android-arrayadapter

5
推荐指数
1
解决办法
8852
查看次数

带有 CheckBox 的 Android 自定义适配器:setOnClickListener 或 setOnCheckedChangeListener

我有一个自定义适配器,布局中有一个复选框。我可以在 CheckBox 上使用 setOnClickListener 而不出现问题吗?还是最好使用 setOnCheckedChangeListener?

代码:

public class MyAdapter extends ArrayAdapter<Object> {
private Context context;
private LayoutInflater mInflater;
private boolean[] selected;

public MyAdaptader(Context context, List<Object> list) {
    super(context, 0, list);
    this.context = context;
    mInflater = LayoutInflater.from(context);
    selected = new boolean[list.size()];
}

private OnClickListener pressed= new OnClickListener() {
    @Override
    public void onClick(View v) {
        if (((CheckBox) v).isChecked())
            selected[(Integer)v.getTag()] = true;
        else
            selected[(Integer)v.getTag()] = false;
    }
};

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    if (convertView == …
Run Code Online (Sandbox Code Playgroud)

checkbox android android-arrayadapter

5
推荐指数
1
解决办法
4576
查看次数

GridView使用Custom ArrayAdapter

也许我只是因为好奇而问错了问题.我通过扩展数组适配器来创建自定义适配器.现在我想在GridView中显示它.我已经阅读了很多文章,我发现它们只使用基本适配器来显示GridView.请大家告诉我这背后的逻辑是什么?我们可以使用Array适配器代替Base Adapter吗?

android android-arrayadapter android-gridview baseadapter

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

动态更新 Design Support TabLayout 的标题

有没有办法在设计支持 TabLayout 中动态更新选项卡的标题?我尝试在 Adapter 中添加一个方法,该方法更改保存选项卡标题的 ArrayList 的内容并通知适配器,但选项卡标题不会更改为新标题。

适配器:

public class TabAdapter extends FragmentPagerAdapter {
    private final List<Fragment> fragments = new ArrayList<>();
    private final List<String> fragmentTiles = new ArrayList<>();

    public TabAdapter(FragmentManager fm) {
        super(fm);
    }

    public void addFragment(Fragment fragment, String title) {
        fragments.add(fragment);
        fragmentTiles.add(title);
    }

    @Override
    public Fragment getItem(int position) {
        return fragments.get(position);
    }

    @Override
    public int getCount() {
        return fragments.size();
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return fragmentTiles.get(position);
    }

    public void setFragmentTiles(int index, String title) {
        fragmentTiles.set(index, title);

        Log.e("ARRAY", …
Run Code Online (Sandbox Code Playgroud)

arraylist android-arrayadapter android-design-library androiddesignsupport android-tablayout

5
推荐指数
1
解决办法
3492
查看次数

从FirebaseDatabase获取的数据将显示在3个单独的AlertDialog中,而不是一个

我从中获取一些数据FirebaseDatabase然后将它们放入一个array然后尝试List在一个自定义中显示它们AlertDialog.

这是代码:

query = mDatabase.child("child").child(anotherChild).child("yetAnotherChild");

uProfile.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        query.orderByChild("someChild").addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                if (dataSnapshot != null) {

                    Map<String, String> newD = (Map<String, String>) dataSnapshot.getValue();

                    ArrayList<String> l = new ArrayList<String>();
                    l.add(newD.get("lol").substring(30));

                    String names[] = l.toArray(new String[0]);

                    AlertDialog.Builder alertDialog = new AlertDialog.Builder(Activity.this);
                    LayoutInflater inflater = getLayoutInflater();
                    View convertView = inflater.inflate(R.layout.dialog_list, null);
                    alertDialog.setView(convertView);
                    alertDialog.setTitle("title");
                    ListView lv = (ListView) convertView.findViewById(R.id.lv);
                    ArrayAdapter<String> adapter = …
Run Code Online (Sandbox Code Playgroud)

android android-arrayadapter android-alertdialog firebase firebase-realtime-database

5
推荐指数
1
解决办法
751
查看次数

Kotlin ArrayAdapter 错误:无法使用提供的参数调用以下任何函数

我是 Kotlin 的 Android 开发新手。在遵循教程项目时,我需要使用ArrayAdapter自定义类。构建项目失败并出现错误。

MainActivity.kt 类抛出错误:

    class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        setSupportActionBar(toolbar)
    }

    val dm = DataManager()
    val adapterCourses = ArrayAdapter<CourseInfo>(
        context = this,
        android.R.layout.simple_spinner_item,
        dm.courses.values.toList()
    )

    override fun onCreateOptionsMenu(menu: Menu): Boolean {
        // Inflate the menu; this adds items to the action bar if it is present.
        menuInflater.inflate(R.menu.menu_main, menu)
        return true
    }

    override fun onOptionsItemSelected(item: MenuItem): Boolean {
        // Handle action bar item clicks here. The action bar will …
Run Code Online (Sandbox Code Playgroud)

android android-arrayadapter kotlin

5
推荐指数
2
解决办法
6212
查看次数

在 RecyclerView 的 onBindViewHolder 方法中将文本设置为 EditText 时出错

我正在尝试将文本设置到EditText我的自定义适配器内部,并且我得到了这个堆栈:

java.lang.NullPointerException: Attempt to read from field 'android.support.v7.widget.ViewInfoStore android.support.v7.widget.RecyclerView.mViewInfoStore' on a null object reference
    at android.support.v7.widget.RecyclerView$LayoutManager.addViewInt(RecyclerView.java:8194)
    at android.support.v7.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:8180)
    at android.support.v7.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:8168)
    at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1573)
    at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1519)
    at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:614)
    at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3812)
    at android.support.v7.widget.RecyclerView.onMeasure(RecyclerView.java:3225)
    at android.view.View.measure(View.java:17547)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
    at android.view.View.measure(View.java:17547)
    at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1260)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
    at android.widget.ScrollView.onMeasure(ScrollView.java:337)
    at android.view.View.measure(View.java:17547)
    at android.support.constraint.ConstraintLayout.onMeasure(ConstraintLayout.java:1676)
    at android.view.View.measure(View.java:17547)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
    at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:141)
    at android.view.View.measure(View.java:17547)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
    at android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:400)
    at android.view.View.measure(View.java:17547)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
    at android.view.View.measure(View.java:17547)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) …
Run Code Online (Sandbox Code Playgroud)

java android android-arrayadapter android-recyclerview

5
推荐指数
1
解决办法
1222
查看次数