标签: findviewbyid

无法解析片段中的 findViewById

我正在尝试从片段 xml 中获取 id 所以这里是错误代码“无法解析 findViewById 方法”

有没有我可以findViewById在 Fragment 中使用的?

public class Slide_Teacher_Add extends Fragment implements View.OnClickListener {

private EditText teacher_id_number;
private EditText teacher_fullname;
private EditText teacher_lesson;
private EditText teacher_contact;

private Button btn_add_teacher;

@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

    View v = inflater.inflate(R.layout.activity_slide__teacher_add,container,false);
    return v;

    teacher_id_number = (EditText) findViewById(R.id.teacher_id_number);
    teacher_fullname = (EditText) findViewById(R.id.teacher_fullname);
    teacher_lesson = (EditText) findViewById(R.id.teacher_lesson);
    teacher_contact = (EditText) findViewById(R.id.teacher_contact);

    btn_add_teacher = (Button) findViewById(R.id.btn_add_teacher);


    btn_add_teacher.setOnClickListener(this);
}
Run Code Online (Sandbox Code Playgroud)

android fragment findviewbyid android-studio

4
推荐指数
2
解决办法
8652
查看次数

Android:如何在服务类中使用mediaController?

我有一个应用程序,通过MediaPlayer播放无线电作为服务.是否可以在Service类中使用MediaController?问题是我可以使用findViewById.

我试着让我的LinearLayout进入onPrepeared方法......

public class RadioPlayer extends Service implements OnPreparedListener, MediaController.MediaPlayerControl {
  @Override
  public void onCreate() {
  super.onCreate();
  mediaPlayer = new MediaPlayer();
  mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
  mediaPlayer.setOnPreparedListener(this);
  mediaController = new MediaController(this, false); mediaPlayer.setDataSource(url);
  mediaPlayer.prepareAsync(); 
}

@Override
  public void onPrepared(MediaPlayer mediaPlayer) {
  mediaPlayer.start();
  mediaController.setMediaPlayer(this);
  LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
  View layout = inflater.inflate(R.layout.main, (ViewGroup) findViewById(R.id.main_program_view));
  mediaController.setAnchorView(layout);
}
}
Run Code Online (Sandbox Code Playgroud)

main.xml文件

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/main_program_view"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#FFFFFF"
        android:orientation="vertical" >  

        <TextView
            android:id="@+id/now_playing_text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:gravity="center"
            android:text="@string/na_antenie"
            android:textColor="#333333" />    
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

service android media-player mediacontroller findviewbyid

3
推荐指数
1
解决办法
3201
查看次数

如何在另一个方法中使用findViewById变量.Java Android

我对编程非常陌生并且正在教自己,如果我的代码很丑,那就很抱歉.

我正在尝试创建一个菜单,如屏幕,左,右箭头按钮,可以更改显示的图片.我想这样做,当你在第一张图像上左箭头消失时,当显示最后一张图像时,右箭头消失了.

我试图以很多不同的方式做到这一点,但总是需要一个无法解决的变量.在发布的代码中,错误是在switch语句中,而我尝试对其进行编码的其他方法是未解决的变量错误将在onClickListener中.

你不必为我编码,只是让我知道我缺少什么概念,我会研究它.

谢谢

    package com.mystuff.mymenu;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.ImageButton;
    import android.widget.ImageView;



public class PictureMenu extends Activity implements OnClickListener{

int setView = 1;    

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

    menuSet(setView);

ImageButton right = (ImageButton) findViewById(R.id.rightButton);
ImageButton left = (ImageButton) findViewById(R.id.leftButton);
right.setOnClickListener(this);
left.setOnClickListener(this);

}       
@Override
public void onClick(View v) {
if(v.getId() == R.id.rightButton){
    setView ++;
    menuSet(setView);
if(v.getId() == R.id.rightButton){
    setView ++;
        menuSet(setView);
}
    }   
    }


private void menuSet(int setView) {

    ImageView picture1 …
Run Code Online (Sandbox Code Playgroud)

java variables android switch-statement findviewbyid

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

对于加速计传感器的获取数据片段类型,方法findViewById(int)未定义

我正在做我在Android平台上通过加速度计传感器获取数据的项目.我在最后3行代码中有错误代码.确切的错误是findViewById不是用于获取数据片段.那么,我如何在Fragment中使用findviewbyId来获取数据加速计传感器?非常感谢答案:)

import android.app.Activity;
import android.app.Fragment;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.TextureView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorManager;
import android.hardware.SensorEventListener;


public class GetDataFragment extends Fragment implements SensorEventListener {

//definisi variabel-variabel
//Sensor accelerometer;
private Activity parent;
TextView koordinatX;
TextView koordinatY;
TextView koordinatZ;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    return inflater.inflate(R.layout.get_data, container, false);
}

private SensorManager sensorManager;
private Sensor sensor;
//TextView koordinatX; …
Run Code Online (Sandbox Code Playgroud)

android accelerometer fragment findviewbyid

3
推荐指数
1
解决办法
5930
查看次数

如何找到片段的ID?或者,如何为片段提供ID?

(首先,我知道这个问题已被多次询问,但我没有找到适用的答案)

我有一个片段创建如下:

inflater.inflate ( R.layout.fragment_task_ongoing, container, false );
Run Code Online (Sandbox Code Playgroud)

我想要的是在FragmentActivity中使用findFragmentById,如下所示:

TaskActiveFragment f = ( TaskActiveFragment ) getSupportFragmentManager ().findFragmentById ( R.id.fragment_task_ongoing );
Run Code Online (Sandbox Code Playgroud)

不幸的是,这返回null.明显的原因是用作参数的id是RelativeLayout被膨胀的id,而不是Fragment.布局的第一行:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_task_ongoing"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp" >
Run Code Online (Sandbox Code Playgroud)

那么,我如何找出片段的 ID ?如果它没有ID,我该如何给它?编程方式?XML?

编辑:我的片段被添加到FragmentStatePagerAdapter,然后将其添加到ViewPager.

android findviewbyid

3
推荐指数
1
解决办法
4902
查看次数

转换结果findViewById android方法

为什么我们总是要抛出方法返回的值findViewById(id)?该方法已经返回一个视图,正如我在google参考中看到的那样:

http://developer.android.com/reference/android/view/View.html#findViewById(int)

然后是否可以从视图中分离出另一个东西?例如,执行以下操作:

ImageView image = (ImageView) findViewById(R.id.image) ?
Run Code Online (Sandbox Code Playgroud)

android findviewbyid

3
推荐指数
1
解决办法
4415
查看次数

在 RecyclerView.Adapter 中绑定视图时出现 NullPointerException

为什么NullPointerExceptionViewHolderbindItems()方法中会出现 a ?

我已经突出显示了我获得NullPointerException. 该blogpost_authorID存在,因为你可以在XML中看到的,所以这里有什么问题吗?findViewById<TextView>(R.id.blogpost_author)返回空值如何?

AdapterViewHolder代码:

class BlogPostAdapter(val blogList: ArrayList<BlogPost>) : RecyclerView.Adapter<BlogPostAdapter.ViewHolder>() {

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) : BlogPostAdapter.ViewHolder {
        val v = LayoutInflater.from(parent.context).inflate(R.layout.blog_post_list, parent, false)
        return ViewHolder(v)
    }

    override fun getItemCount(): Int {
        return blogList.size
    }

    override fun onBindViewHolder(holder: BlogPostAdapter.ViewHolder, position: Int) {
        holder.bindItems(blogList[position])
    }

    class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        fun bindItems(blogPost: BlogPost) {
            val blogPostAuthor = itemView.findViewById<TextView>(R.id.blogpost_author) // THIS LINE …
Run Code Online (Sandbox Code Playgroud)

android findviewbyid kotlin android-recyclerview

3
推荐指数
1
解决办法
3478
查看次数

findViewById 返回 null。但为什么?

我有一个 Adroid Activity,我想引入一个自定义列表视图。这是我的 onCreate() 活动方法。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    LoadListView();

    ListView lvw = (ListView)findViewById(android.R.id.list);

    lvw.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {

            // selected item
            String element = ((TextView) view).getText().toString();

            // Launching new Activity on selecting single List Item
            Intent i = new Intent(getApplicationContext(), AddEntryActivity.class);
            // sending data to new activity
            i.putExtra("entryToEdit", element);
            long idToEdit = Long.parseLong(hEntries.get(position).toString());
            i.putExtra("idToEdit", idToEdit);
            startActivity(i);

        }
      });   

    DbAccess oDb = new DbAccess(this);
}
Run Code Online (Sandbox Code Playgroud)

如您所见,调用 LoadListView() 方法来加载列表视图项: …

eclipse android findviewbyid

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

@ViewById不起作用

这是我的代码

活动:

@RoboGuice
@EActivity(R.layout.result_page)
public class ResultActivity extends SherlockListActivity implements ActionBar.OnNavigationListener{
    @ViewById TextView src;
    @ViewById TextView dest;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if(src==null || dest==null)
            Toast.makeText(this, "@ViewById does not work", Toast.LENGTH_SHORT).show();

        //More Code here

    }
}
Run Code Online (Sandbox Code Playgroud)

布局的一部分: - 注意:有许多嵌套布局 - 仅显示布局文件的一部分

<RelativeLayout
                    android:id="@+id/topRight"
                    android:layout_toRightOf="@id/topLeft"
                    android:layout_height="wrap_content"
                    android:layout_width="0px"
                    android:layout_weight="0.8">
                <TextView
                        android:id="@+id/src"
                        android:layout_alignParentLeft="true"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textColor="#3399FF"
                        android:maxLines="1"
                        android:paddingLeft="8dp"
                        android:textSize="16dp"/>
</RelativeLayout>

<RelativeLayout
                    android:id="@+id/bottomRight"
                    android:layout_toRightOf="@id/bottomLeft"
                    android:layout_height="wrap_content"
                    android:layout_width="0px"
                    android:layout_weight="0.8">
                <TextView
                        android:id="@+id/dest"
                        android:layout_alignParentLeft="true"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:paddingLeft="8dp"
                        android:maxLines="1"
                        android:textColor="#3399FF"
                        android:paddingBottom="10dp"
                        android:textSize="16dp"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我想在TextViews上做一个setText().我想知道我实现接口(我需要的)是否会使@ViewById成为故障.还是我错过了什么?

android findviewbyid actionbarsherlock android-annotations

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

如何从自身内部删除片段

在我的应用程序中,我有一个片段实例ActivityFragment,它在addActivity按下按钮 时动态添加。有一个delete_button在每个ActivityFragment和我树立了一个onClickListener的内这个按钮ActivityFragment类。当delete_button按下 时,我想从 onClick 方法内部删除片段。当我创建ActivityFragment对象并将其添加到片段类之外的方法中的活动时,我将如何执行此操作?我应该使用什么领域.remove()

请注意,delete_button应该只删除它所在片段的实例。

这是我MainActivity.javaActivityFragment班级。该addActivity按钮是在底部:

import android.app.Fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.FragmentActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends FragmentActivity {

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


    public static class ActivityFragment extends Fragment {
        // @Nullable is used because the method may return …
Run Code Online (Sandbox Code Playgroud)

android android-fragments findviewbyid

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